코딩테스트/기타

[Python] 입출력

sujin7837 2021. 9. 14. 17:08
반응형

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() 함수를 사용해야 합니다.

 

출처: 이것이 코딩 테스트다

반응형