반응형
1. input()을 이용하여 입력받는 경우
여러 개의 데이터를 입력받을 때 데이터가 공백으로 구분되는 경우가 많습니다. 그래서 입력받은 문자열을 띄어쓰기로 구분하여 각각 정수 자료형의 데이터로 저장하는 코드의 사용 빈도가 매우 높습니다.
# 데이터의 개수 입력
n = int(input()) # 5
# 각 데이터를 공백으로 구분하여 입력
data = list(map(int, input().split())) # 65 90 75 34 99
data.sort(reverse=True)
print(data) # [99, 90, 75, 65, 34]
# n, m, k를 공백으로 구분하여 입력
n, m, k = map(int, input().split()) # 3 5 7
print(n, m, k) # 3 5 7
2. readline()을 이용하여 입력받는 경우
그러나 입력의 개수가 많은 경우에는 단순히 input() 함수를 그대로 사용하지는 않습니다. 파이썬의 기본 input() 함수는 동작 속도가 느려서 시간 초과가 날 수 있으므로 sys 라이브러리의 sys.stdin.readline() 함수를 이용합니다
import sys
# 문자열 입력받기
data = sys.stdin.readline().rstrip()
print(data)
readline()으로 입력시, 입력 후 엔터가 '줄 바꿈 기호'로 입력되므로 이 공백 문자를 제거하기 위해 rstrip() 함수를 사용해야 합니다.
출처: 이것이 코딩 테스트다
반응형
'코딩테스트 > 기타' 카테고리의 다른 글
[Python] 달팽이 배열 (0) | 2021.09.30 |
---|---|
[Python] 최소 힙(Min Heap)과 최대 힙(Max Heap) (0) | 2021.09.14 |
[C/C++] 피보나치 수열 알고리즘(피사노 주기) (0) | 2021.08.25 |
[C/C++] 소수 구하기(에라토스테네스의 체) (0) | 2021.08.25 |
[C++] lower_bound(), upper_bound() 함수 (0) | 2021.06.28 |