Logo
(追記) (追記ここまで)

33904번 - 불필요한 for문

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB170696440.252%

문제

준호는 최근 백준 문제를 풀던 중 실수로 변수명을 잘못 써서 코드에 불필요한 for문이 있음에도 맞았습니다를 받았다!

처음 겪어보는 상황에 준호는 혹시 전에 제출했던 코드에도 불필요한 for문이 있지 않았을까? 생각하고 과거에 제출했던 코드들을 살펴보기로 했다.

입력으로 주어질 코드의 형식은 다음과 같다.

  • 코드는 한 줄 이상의 for문과 마지막 한 줄의 연산식으로 이루어져 있다.
  • for문을 구성하는 각 줄은 for (int [변수명] = 1; [변수명] < 9; [변수명]++) 의 형식으로 주어진다. 이는 [변수명]이라는 변수를 선언한 것이며, 세 [변수명]은 동일하다.
  • 변수명은 알파벳 한 글자이며, 대소문자를 구분한다. 즉, $n$과 $N$은 다른 변수이다.
  • 연산식은 알파벳, 숫자, 공백, 특수문자(아스키코드 32ドル$-126ドル$)로 이루어져 있고, 공백으로 시작/끝나지 않는 길이 1ドル$ 이상 20ドル$ 이하의 문자열이다.
  • 연산식의 알파벳들은 반드시 변수명만을 의미하며 알파벳이 연속으로 주어지지 않는다.
  • 연산식은 실제 프로그래밍 코드 형식과는 무관하다. 또한 선언되지 않은 변수가 사용될 수 있다.

여기서 불필요한 for문이란 다음 두 가지 조건 중 하나라도 만족하는 for문을 말한다.

  • 해당 for문에서 선언한 변수가 내부의 다른 for문에서 다시 선언된 경우
  • 해당 for문에서 선언한 변수가 연산식에서 전혀 사용되지 않은 경우

준호의 코드가 주어지면 불필요한 for문들을 모두 제거한 코드를 출력하자!

입력

여러 줄에 걸쳐 준호의 코드가 주어진다. 코드는 최대 500ドル$줄이다.

두 번째 줄부터는 코드의 앞에 한 줄에 하나씩 공백(space) 문자가 추가된다.

출력

여러 줄에 걸쳐 준호의 코드에서 불필요한 for문에 해당하는 행을 모두 지운 코드를 출력한다.

두 번째 줄부터는 코드의 앞에 한 줄에 하나씩 공백(space) 문자를 추가한다.

제한

예제 입력 1

for (int i = 1; i < 9; i++)
 for (int j = 1; j < 9; j++)
 x += i;

예제 출력 1

for (int i = 1; i < 9; i++)
 x += i;

예제 입력 2

for (int i = 1; i < 9; i++)
 for (int j = 1; j < 9; j++)
 x += i + j;

예제 출력 2

for (int i = 1; i < 9; i++)
 for (int j = 1; j < 9; j++)
 x += i + j;

예제 입력 3

for (int i = 1; i < 9; i++)
 for (int j = 1; j < 9; j++)
 for (int i = 1; i < 9; i++)
 -i+L)(9j

예제 출력 3

for (int j = 1; j < 9; j++)
 for (int i = 1; i < 9; i++)
 -i+L)(9j

힌트

출처

University > 한양대학교 ERICA 캠퍼스 > 2025 한양대학교 ERICA 프로그래밍 경시대회 HEPC > COSS Division C번

University > 한양대학교 ERICA 캠퍼스 > 2025 한양대학교 ERICA 프로그래밍 경시대회 HEPC > Open Contest I번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /