코딩테스트

백준 입출력 문제 - map 함수 (Python)

수연 (Suyeon) 2023. 11. 17. 00:46
반응형

입출력을 하는 문제에서 map()이 무엇인지 설명하는 포스팅을 하려고 합니다.

 

 

📌 map(함수, 리스트 또는 튜플)

map에는 두 가지의 인자를 필요로 합니다.
첫 번째, 함수입니다. 두 번째 인자에 오는 값들을 적용시킬 함수를 의미합니다.
두 번째, 리스트 또는 튜플입니다. 첫 번째 인자로 들어온 함수에 하나씩 넣어서 함수를 수행시킬 때 필요합니다.

 

 

📌 map 함수 활용하기

a, b = map(int, ['1', '2'])
print(a, b) #1 2
리스트를 정수로 변환하기
첫 번째 인자에 리스트를 정수형으로 변환하기 위한 int 함수가 들어왔습니다.
파이썬에서는 문자를 정수로 변환할 때 int()를 사용합니다.

두 번째 인자에는 문자 2개를 담음 리스트를 주었습니다.
'1'과 '2'는 차례대로 int('1')과 int('2')의 과정을 거쳐서 a에 1이 b에 2가 들어옵니다.

 

 

 

📌 for문이 아닌 map함수를 사용하는 이유

list1 = ['1', '2', '3', '4']
result1 = []

# for문 사용
for i in range(4):
  result1.append(int(list1)))

print(result1) # [1, 2, 3, 4]

# map 사용
result2 = list(map(int, list1))

print(result2) # [1, 2, 3, 4]
for문은 하나씩 int 값을 주어서 배열에 추가해줘야 하지만,
map함수를 사용하면 자동으로 리스트를 함수에 적용해서 map 객체로 반환해줍니다.

코드도 간단해지고 개발자도 편하게 사용할 수 있는 장점이 있습니다.

 

 

 

📌 map()과 input() 활용하기

numList = list(map(int, input()))	# 123
print(numList)	# [1, 2, 3]
input()에 띄어쓰기 없이 숫자를 입력할 때 map은 각 자리의 문자를 숫자로 변경해주고 값 하나하나를 배열의 값으로 만들어줍니다.
728x90