99클럽 코테 스터디 2일차 TIL + 문자열, sys

임정민·2025년 1월 15일
0
post-thumbnail

1. 문제 설명

[문제 내용]

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

[입력]

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

[출력]

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

[입출력 예]


2. 풀이

import sys

i = sys.stdin.read()
print(i, end="")

3. 회고

3-1. 문제 해결 과정

input() 이용해서 하면 되는게 아닌가? 문제가 너무 쉽다고 생각했는데, 알고보니 input()은 한 줄만 입력받기 때문에 여러 줄의 입력을 처리할 수 없다고 한다. (!!!)

3-2. 새롭게 배운 내용

  • sys.stdin.read()는 표준 입력에서 모든 내용을 읽는다.

  • end=""는 출력 후 줄바꿈을 없애고 빈 문자열을 대신 추가한다. print()는 기본적으로 출력 후에 줄바꿈을 수행하기 때문이다.

3-3. 다른 풀이 참고

while True:
    try:
        # 한 줄씩 입력받고 그대로 출력
        s = input()
        print(s)
    except EOFError:
        break  # 더 이상 입력이 없으면 종료

더이상 입력할 내용이 없는데 추가로 입력을 하면 EOFError가 발생한다. End Of File은 입력의 끝을 만났을 때 발생하는 오류다. while 문에서는 해당 처리를 하지 않으면 프로그램이 중단되면서 오류가 발생한다.

profile
Data Science and Natural Language Processing

0개의 댓글

관련 채용 정보