알고리즘 단련장/백준
[백준] 11718 그대로 출력하기 Python
dcho
2024. 7. 15. 23:32
SMALL
https://www.acmicpc.net/problem/11718
문제
입력 받은 대로 출력하는 프로그램을 작성하시오.
입력
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.
출력
입력받은 그대로 출력한다.
예제 입력 1 복사
Hello
Baekjoon
Online Judge
예제 출력 1 복사
Hello
Baekjoon
Online Judge
풀이
Python에서 문제를 풀다보면 기본적인 입력 부분에서 시간 초과가 나는 경우가 있어 파이썬의 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 메서드를 보통 이용한다.
하지만 한줄씩 입력을 받기에 이 문제는 여러줄이 들어오더라도 그대로 출력을 해줘야 한다.
보통 IDE에서 코드를 작성하고 돌려 보지만 프로그램이 끝나지 않아서 확인해보니 백준에서 바로 코드를 넣고 출력하는 형식이다.
몰랐던 개념도 있었기에 간단하게 정리하려고 한다.
sys.stdin.readline()
문자열 형태로 개행문자(\n
)를 포함한 한 줄만 입력된다.
import sys
print(sys.stdin.readline())
[출력]
Hello
sys.stdin.readlines()
파일의 끝까지 한번에 읽어온다. 각 줄이 개행문자(\n
)가 포함되어 리스트로 저장된다.
import sys
print(sys.stdin.readlines())
[출력]
['Hello\n', 'Baekjoon\n', 'Online Judge\n']
sys.stdin.read()
파일의 끝까지 한번에 읽어오고 읽은대로 출력된다.
import sys
print(sys.stdin.read())
[출력]
Hello
Baekjoon
Online Judge
sys.stdin.read().splitlines()
파일의 끝까지 한번에 읽어오고 개행문자를 제외하여 리스트로 읽는다.
[출력]
['Hello', 'Baekjoon', 'Online Judge']
코드
import sys
print(sys.stdin.read())