알고리즘 연습/구현, 문자열

[🥉1 / 백준 11719 / 파이썬] 그대로 출력하기 2

김세진 2021. 7. 23. 23:53
반응형

 

 

11719번: 그대로 출력하기 2

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이

www.acmicpc.net

문제

입력 받은 대로 출력하는 프로그램을 작성하시오.

입력

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다.

출력

입력받은 그대로 출력한다.

 

예제 입력 

    Hello

Baekjoon     
   Online Judge    

예제 출력 

    Hello

Baekjoon     
   Online Judge    

 

풀이

 

입력받은 그대로 출력하는 문제이다.

 

단, 입력의 끝이 명시되어 있지 않기 때문에

이를 적절히 처리하는 방법을 알고 있어야 하는 문제이다.

 

파이썬으로 입력을 받는 대표적인 함수가 input과 readline이 있다.

input의 경우 갑자기 파일의 끝이 올 경우 EOFerror를 발생시킨다.

readline의 경우에는 위의 경우 빈 문자열을 반환한다.

 

따라서 readline을 사용한다면 예상보다 한 줄이 더 출력되어 출력 초과가 뜰 것이다.

 

위 문제를 해결할 수 있는 두 가지 방법이 있다.

 

input은

try except 문을 활용하여 EOFerror를 건너뛰는 것이다.

while(True):
    try:
        print(input())
    except:
        break

 

readline의 경우 readline 대신 read를 사용하는 것이다.read는 라인마다 줄 바꿈을 하지 않고, 전체 데이터를 한 번에 읽기 때문에 개행 문자가 발생하지 않는다.또한, 전체 파일을 한 번에 읽기 때문에 이 문제의 경우 while문을 사용하지 않는다.

 

import sys
print(sys.stdin.read())

 

반응형