
아래 백준 로고를 클릭하면 해당 문제로 이동합니다 😀
생각을 하는데에 시간이 꽤 걸린 문제였다.
보통 문제들에서는 입력 횟수를 알려주지만 이 문제에선 입력 횟수가 최대 100회로만 주어지고 알아서 잘라야하는 경우였다.
일단 간단하게 생각했을땐 while문에서 str을 입력받고 if 문으로 걸러줘서 break를 걸 생각이었으나 그렇게 코드를 작성했을때 백준에서 런타임에러(EOFError)를 만났다......
그래서 짱구를 굴렸을 때 두가지 케이스를 생각했다.
1. try~except 사용
이 경우는 EOFError를 except에 걸어줘서 파일이 끝나면 while문을 탈출하게 구현했다.
2. sys.stdin.read() 사용
sys.stdin.readline(), sys.stdin.readlines(), sys.stdin.read() 중 가장 빠르게 입력받고 처리할 수 있는 것을 선택했다.
이에 대한 차이는 다음 포스팅에서
1. try~except 사용
while True:
try:
print(input())
except EOFError:
break
2. sys.stdin.read() 사용
import sys
print(sys.stdin.read())
