본문 바로가기

코딩/코딩 꿀팁

[파이썬 / Python] map(int, input().split()) 에 대하여

728x90
반응형

파이썬을 공부하고, 문제 풀이 프로그램들을 풀다보면 대부분의 코딩 시작을 제목의 식처럼 시작하는 경우가 많다.

그래서 이참에 위의 식을 이 포스트에 설명해 놓으면 나중에 식이 조금 바뀌더라도 이해해서 쉽게 풀 수 있을 것이다.


일단 input() 부터 살펴 보려고 한다. input()은 값을 받을 때 사용하는데, 입력된 값을 문자열로 인식해서 받는다.

그래서 만약 input()에 숫자를 넣어서 사용하고 싶다면 int 함수를 이용해 주어야 한다.

A = int(input())

 

 

 

 

하지만 대부분의 코딩 문제들은 입력 값을 여러개 받아서 사용한다. 만약 두 개 이상 입력이 들어온다면 어떻게 해야할까?

바로 split() 함수를 이용하면 된다. split()함수는 받은 문자열을 공백을 기준으로 나누어 리스트로 저장해준다.

A = "Hi my name is spatz"
A.split()

>>> ['Hi', 'my', 'name', 'is', 'spatz']

 

 

 

 

그렇다면 위에 두가지 함수를 이용하여 모든 리스트에 int형을 적용 시키기 위해서는 어떻게 해야할까?

A,B = int(input().split())
# 잘못된 코딩

 

위에 식은 잘못된 코딩이다. 그 이유는 int함수는 리스트를 정수로 바꾸어줄 수 없다.

그래서 이때 사용하는 것이 map() 함수이다.

 

 

 

 

map()함수는 map(적용할 함수, 반복 가능한 자료형)으로 구성 되어 있다.

>>> A,B = map(int,input().split())
11 34
>>> print(A+B)
45

즉, 위에 코딩은 input 함수로 받은 문자열을 split 함수를 통해 공백을 기준으로 나누고,

map 함수를 이용해 모든 자료형을 int 함수를 통해 정수형태로 바꾸어 준 것이다.

반응형