[python] EOF(End of File) 처리 방법

yeonjoo·2024년 1월 18일

Python

목록 보기
3/3
post-thumbnail

EOF란?

컴퓨팅에서 파일의 끝(End of FIle)을 나타내고 데이터 소스로부터 더이상 읽을 수 있는 데이터가 없음을 의미.


알고리즘 문제를 풀다가 입력의 끝을 EOF로 주는 경우를 보고 의문이 생겨 정리해보기로!



1. input()인 경우

  • try, except를 사용하여 input()으로 입력받을 경우에 EOF를 처리할 수 있다.
while True:
	try:
    	x = int(input())
    	print(x)
    except:
    	break

만약, 윈도우 환경이라면 Ctrl + z 를 누르면 처리가 가능하다.


>> 추가 sys.stdin.readline()

  • 추가로 알고리즘 문제를 풀다보면 빠른 입출력을 요구하거나 입력받는 수가 너무 많다면 input() 함수로 입력을 받는다면 시간초과라는 문제가 발생한다. (저의 경험담... 초창기에는 모르고 많이 헤맸답니다)
  • 이때 sys.stdin.readline() 라이브러리 함수를 사용한다면 문제가 해결된다.
import sys

x = int(sys.stdin.readline())
print(x)

만약 입력받는 수가 정해져 있지 않는다면 EOF임을 인지하고 try, except를 사용하자!
개념을 이해하였다면 예제를 한번 풀어보는 것을 추천한다

baekjoon 10951번 - A+B-4

0개의 댓글