티스토리 뷰
https://www.acmicpc.net/problem/11718
11718번: 그대로 출력하기
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시
www.acmicpc.net
처음에 예제가 3줄만 입력되어 있어서 3줄만 입력하라는건가 싶어 혹시나 하고 3줄만 입력받고 출력했다가 틀렸다. 그래서 입력값이 무제한이 맞겠구나 싶어 구현하려 했지만 종료조건을 어떻게 해야 할지 몰라 다른 사람들의 풀이를 찾아봤다.
while True:
try:
print(input())
except EOFError:
break
input()함수 같은 경우에는 입력값이 주어지지 않을 경우에는 EOF(End of File)를 반환한다. 이를 이용하여 입력값이 주어지지 않을 경우 try & except 문을 통해 예외처리하며 종료시켜줬다.
입력값을 sys.stdin.readline으로 받을 경우에는 입력값이 주어지지 않을 경우 빈 문자열을 반환한다. 따라서 빈 문자열이 있을 경우 종료시켜주면 된다.
import sys
while True:
s = sys.stdin.readline().rstrip()
if s == '':
break
else:
print(s)
참고하면 좋은 글
https://www.acmicpc.net/board/view/28332
느낀점
항상 문제를 풀때 input()와 readline() 함수를 사용만 해왔지 이 함수들에 대해 깊게 생각해본적이 없는거 같은데 이번 문제를 풀면서 이 함수들에 대해 하나 더 알게 되었다. 내장함수를 활용하는 능력도 중요하지만 각 내장함수별로 어떻게 동작하고 시간복잡도는 어떤지, 예외처리는 어떻게 하는지 시간이 된다면 더 깊게 공부해봐야 되겠다는 생각이 들었다.
'알고리즘' 카테고리의 다른 글
백준 1316 - 파이썬 (2) | 2023.09.25 |
---|---|
백준 - 1157 파이썬 (0) | 2023.09.20 |
백준 3109 - 파이썬 (1) | 2023.09.11 |
백준 1080 - 파이썬 (0) | 2023.08.06 |
백준 1213 - 파이썬 (0) | 2023.07.29 |