map 함수에 대해서 잘 알 수 있어서 좋았던 문제. 지금가지 map은 한 줄에 int input을 받아야 할 때 각각 str을 int로 바꿔주는 용도?.. 로만 사용하다가 이번에 처음 이렇게 쓰는거구나 배울 수 있었다.
소스코드
from itertools import product
def solution(word):
candidate=[]
for i in range(1,6):
candidate.extend(map(''.join, product("AEIOU", repeat = i)))
candidate.sort()
return candidate.index(word)+1
map 함수를 통해 튜플로 반환되는 product의 리턴값들을 join으로 문자열처리할 수 있다.
map이 없이 extend시키면 product의 반환값은 이런식이다.
그렇다고 해서 라이브러리를 건드려서 문자열을 뱉도록 할 수도 없는 일.. map 함수를 쓰면 간단하게 해결이 가능하다.
앞으로 어떤 리스트 안에 각각 손대야할 부분이 있으면 map을 쓰도록 하자.