자기계발
백준
11718 · 그대로 출력하기

백준 11718번 그대로 출력하기

문제

최대 100줄의 입력이 주어진다. 각 줄은 알파벳 대소문자, 공백, 숫자로만 이루어져 있고 100글자를 넘지 않으며, 빈 줄은 없다. 또 각 줄은 공백으로 시작하거나 끝나지 않는다. 입력받은 내용을 그대로 출력한다.

풀이

입력이 몇 줄인지 알 수 없으므로 while True로 반복하며 한 줄씩 읽어 출력한다. 더 읽을 입력이 없으면 input()이 EOFError를 발생시키므로 try/except로 잡아 반복을 끝낸다.

# 값이 얼마나 들어올지 모르니, while문 사용
while True:
    try:
        word = input()
        # 입력이 더이상 없다면 break
        if not word:
            break
        print(word)
    # 입력이 더이상 없다면 break    
    except EOFError:
        break

짚고 갈 점

EOFError는 End of File Error의 약자로, 입력 소스(파일, 표준 입력 등)에서 더 읽을 데이터가 없을 때 발생하는 파이썬 예외다. 파일의 끝에 도달했거나 입력이 더 이상 없는 상태에서 읽으려 할 때 발생한다.

출처