- input() 내장 함수는 sys.stdin.readline()과 비교해서 prompt message를 출력하고,
개행 문자를 포함한 값을 리턴하기 때문에 느리다.
따라서 알고리즘 문제를 풀이할 때는 input()을 사용할 시에 시간초과가 발생할 수 있다.
하나의 정수를 입력 받을 때
import sys
a = int(sys.stdin.readline())
입력: 3
출력: 3
사용자가 정수의 갯수를 정하고 입력 받을 때
import sys
a,b,c = map(int,sys.stdin.readline().split())
print(a,b,c)
입력: 1 2 3
출력: 1 2 3
임의의 개수의 정수를 한줄에 입력받아 리스트에 저장할 때
import sys
a = list(map(int,sys.stdin.readline().split()))
입력: 1 2 3
출력: [1,2,3]
임의의 개수의 정수를 n줄 입력받아 2차원 리스트에 저장할 때
import sys
data = []
n = int(sys.stdin.readline())
for i in range(n):
data.append(list(map(int,sys.stdin.readline().split())))
print(data)
import sys
n = int(sys.stdin.readline())
data = [list(map(int,sys.stdin.readline().split()) for i in range(n)]
print(data)
입력: 2
<------- n 입력값
12
34
출력: [[12],[34]]
임의의 개수의 정수를 n줄 입력받아 2차원 리스트에 저장하고 객체를 나눌 때
import sys
n = int(sys.stdin.readline())
arr = [list(map(int, sys.stdin.readline().strip())) for i in range(n)]
print(arr)
입력: 2
<------- n 입력값
12
34
출력: [[1,2],[3,4]]
문자열 n줄을 입력받아 리스트에 저장할 때
import sys
n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(n)] # strip()은 문자열 양쪽 공백 제거
print(data)
입력:2
안녕
하세요
출력:['안녕','하세요']
문자열 n줄을 입력받아 2차원 리스트에 저장하고 객체를 나눌 때
import sys
n = int(sys.stdin.readline())
arr = [list(sys.stdin.readline().strip()) for i in range(n)]
print(arr)
입력:2
안녕
하세요
출력:[['안','녕'],['하','세','요']]