본문 바로가기

컴퓨터/python

[Python] 한 번에 여러 수 입력 받기 (map, sys.stdin.readline())

보통 python에서 입력받을 때는 input 함수를 사용한다.

여러 개의 값을 입력받기 위해서는 split을 사용하면 된다.

 

*map

: 리스트의 요소를 지정된 함수로 처리하며, 여러 개의 데이터를 한번에 다른 형태로 바꾸는 경우 사용한다.

map(func, iterable)

func : 적용 함수

iterable : 반복 가능한 자료형

map으로 반환하기 때문에 형변환을 시켜주어야 한다.

 

 

# 값 2개를 입력받기
x,y = input().split()

# 값 2개를 정수형으로 입력받기
x,y = map(int, input().split())

# 리스트로 입력 받기
aList = list(map(int, input().split()))

# 여러 줄로 입력받기(3줄)
bList = [input() for _ in range(3)]

# 띄어쓰기해서 정수 리스트 입력받기
lst = [*map(int, input().split())]

#엔터를 사용하고 싶을 때는 for문을 사용

 

파이썬으로 코딩테스트를 준비하다보면 여러줄을 반복문으로 입력받을 경우 input()을 사용하면 시간초과가 발생하는 경우가 생긴다. 이 때 사용할 수 있는 것이 sys.stdin.readline()이다.

 

import sys

a = int(sys.stdin.readlind())

a,b = map(int, sys.stdin.readline().split())

nList = list(int, sys.stdin.readline().split())

 

한 줄 단위로 입력받아지므로 개행문자가 포함되며, 문자열형으로 저장되기 때문에 정수나 실수로 사용할 경우 형변환이 필요하다.

728x90