Python/개념학습

Day05 더 빠르게 입력받기 : sys.stdin.readline()

수e 2022. 8. 13. 21:02

정의

sys : 파이썬의 표준 라이브러리

 

필요성

1. 일회성이 아닌 반복문으로 입력 받아야 할 경우 input()은 시간초과 발생 가능성

2. 메모리 소모가 상대적으로 적음

 

특징

1. 한 줄 단위로 입력받음 : 개행문자가 같이 입력받아짐(ex. '3'을 입력받는 경우 '3\n'으로 저장되는 형식)

2. 저장되는 변수의 타입은 문자열(string) : 숫자로 사용하려면 형변환을 거쳐야 함

 

사용

  • 한 개의 정수 입력 받기
import sys
a = int(sys.stdin.readline())

특징 1, 2 -> int로 형변환을 해주면 개행문자 제거+정수 형태가 됨

 

  • 개수가 정해진 복수 정수 입력 받기
import sys
a,b,c = map(int,sys.stdin.readline().split())

 

  • 임의의 복수 정수 입력 받기
import sys
data = list(map(int,sys.stdin.readline().split()))

list()를 이용해 맵 객체를 리스트형으로 바꿔주기

 

  • 문자열 n줄을 입력받아 리스트에 저장하기
import sys n = int(sys.stdin.readline()) 
data=[sys.stdin.readline().strip() for i in range(n)]

->문자열을 n개 입력받아 하나의 리스트에 저장

 

 

*참고*
strip() : 문자열 맨앞과 끝의 공백 제거
lstrip(parameter) : parameter를 str의 왼쪽에서 제거
rstrip(parameter) : parameter를 str의 오른쪽에서 제거