[BOJ] 11718 | 그대로 출력하기

Gaanii·2024년 10월 9일
0

Problem Solving

목록 보기
13/210
post-thumbnail

아래 백준 로고를 클릭하면 해당 문제로 이동합니다 😀

BOJ 로고



풀이과정


생각을 하는데에 시간이 꽤 걸린 문제였다.

보통 문제들에서는 입력 횟수를 알려주지만 이 문제에선 입력 횟수가 최대 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())


결과


11718맞았습니다

0개의 댓글