Home 백준 알고리즘(BOJ) 11718번 파이썬 풀이
Post
Cancel

백준 알고리즘(BOJ) 11718번 파이썬 풀이

문제 설명

이번 문제는 EOF(End Of File)을 이용해야 해결할 수 있다는것을 유의합니다.

try ~ except 예외처리 구문에 대해 이해하고 있다는것을 기준으로 설명합니다.

풀이

완성된 코드는 다음과 같습니다.

1
2
3
4
5
while True:
    try:
        print(input())
    except EOFError:
        break

문제를 살펴보면 입력이 주어지는데 이 입력은 최대 100줄까지 들어올 수 있다고 합니다.
또한 각 줄은 100자를 넘지 않으며, 빈 줄은 주어지지 않는다고 설명되어있습니다.

기존에 입출력 관련 문제들은 정확히 몇줄정도가 들어오거나 조건을 입력 받으면 뚜렷한 값이 대입되기 때문에 별 문제가 없었으나, 이번 문제에서 “입력은 최대 100줄까지 들어올 수 있다.” 이 말은 입력이 최대 100줄까지 주어지는데, 이 말은 즉 0~100번 사이중 랜덤한 만큼의 입력이 주어진다는 의미입니다.

간단 명료하게 이야기하자면, 0~100줄 사이의 랜덤한 입력이 주어지고나서 프로그램을 Ctrl + Z 또는 Ctrl + D로 종료하겠다는 의미가 됩니다.

이러한 방식으로 프로그램을 종료하는것을 EOF (End Of File)이라 칭합니다.

파이썬에서는 이러한 종료 방식, 즉 일종의 Error를 명시적으로 일컫는 예약어인 EOFError가 있습니다.

즉 위 예제는 임의의 값을 계속해서 입력받다가 EOFError가 캐치되면 반복문을 중단시키고 프로그램을 종료합니다.

실행 결과

1
입력받은 값 출력

입력받은 값을 출력하다가 EOF Error가 발생하면 프로그램을 종료합니다.

This post is licensed under CC BY 4.0 by the author.