

이 문제는 구현 방식을 떠올리는 것 보다는 피지컬이 필요한 문제였다.
이 문제를 통해 파이썬의 모르는 문법이 많다는 것을 알게 되었다.
(파이썬 문법 잡긴해야하는데,,, 어떻게 해야 할까,,?)
나는 저 list(map(''.join, permutations(data, i)))가 왜 저렇게 나오는지,,, 모르겠다.
모르는 문법들 다 정리하자.
map, list, join, permutation 등등,,
파이썬 문법 정리
map
map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받는다. map은 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려주는 함수이다.
위의 코드를 다시 보자면, permutations(data, i)을 통해 여러 데이터 리스트가 나온다.
그 리스트를 map의 오른쪽 param에 넣고, 해당 리스트들을 하나씩 가져와 ''.join을 적용시킨다.
근데,,, 이걸 list로 왜 묶어야 하지,,,?
list는 무슨 함수야?? 난 그냥 string을 list로 하니까 배열로 하나씩 쪼개서 나온다. 로만 알고 있었다.
->
permutation(data, 2)하면 dataP2를 해서 나오는 값이 (1,2,3,4)이런 식으로 저장이 된다.
그래서 ''.join을 통해서 1234로 만들어 준 것이였다.
ex).
>>> list(map(lambda a: a*2, [1, 2, 3, 4]))
>>> def two_times(x):
... return x*2 ...
list(map(two_times, [1, 2, 3, 4]))
join
'개발 > 알고리즘' 카테고리의 다른 글
[이코테] 모험가 길드 (0) | 2021.03.04 |
---|---|
2020 KAKAO BLIND RECRUITMENT_자물쇠와 열쇠 (0) | 2021.02.26 |
[SQL] 프로그래머스_어린 동물 찾기 (0) | 2021.02.24 |
[SQL] 우유와 요거트가 담긴 장바구니 (0) | 2021.02.24 |
[BOJ] DSLR_9019 (0) | 2021.02.23 |