2일차 - 그대로 출력하기2 (백준 11719번 )
2025. 1. 14. 18:18ㆍ코테 스터디(Python)
문제
입력 받은 대로 출력하는 프로그램을 작성하시오.
입력
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다.
출력
입력받은 그대로 출력한다.
예제 입력 1 복사
Hello
Baekjoon
Online Judge
예제 출력 1 복사
Hello
Baekjoon
Online Judge
풀이
처음에는 줄바꿈마다 받아오면 된다고 생각해서 했는데
문제가 풀어지지 않았다.
방법1
while True:
try:
print(input())
except EOFError:
break
알고보니 이 문제는 파일의 끝(EOF)을 판단할 수 있는지를 묻는 문제였다.
try-except 문을 사용하여 파일을 input()으로 받아오고 더이상 읽어올게 없으면 EOFError 발생시켜 종료시키는 방식이다.
+EOFerror) 더이상 읽어들일 것이 없을 때 발생하는 에러
방법2
import sys
print(sys.stdin.read())
다른 방법으로는 input으로 받아오지 않고 sys.stdin.read()를 사용하여 입력값을 받아온다.
sys.stdin.read()는 한번에 읽어와 버퍼에 저장하여 입력값이 많아질수록 받아오는 속도가 input()과 차이가 커진다.
+ input()은 문자열 변환, 줄 바꿈 제거 등 추가적인 과정이 있고, 데이터가 하나 씩 버퍼에 들어감
+ sys.stdin.readline()은 문자열로 변환, 줄 바꿈 과정이 없으며 데이터가 한 번에 버퍼에 들어감
참고글: https://www.acmicpc.net/board/view/28332
'코테 스터디(Python)' 카테고리의 다른 글
6일차 - 할리갈리 ( 백준 27160번 ) (0) | 2025.01.20 |
---|---|
5일차 - 세로읽기 ( 백준 10798번 ) (0) | 2025.01.17 |
4일차 - 뜨거운 붕어빵 (백준 11945번) (0) | 2025.01.16 |
3일차 - 문자열 반복 (백준 2675번) (0) | 2025.01.15 |
1일차 - 문자열 내 p와 y의 개수 (프로그래머스) (0) | 2025.01.13 |