문제링크 :https://programmers.co.kr/learn/courses/30/lessons/42578
문제설명
1. 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때
2. 서로 다른 옷의 조합의 수를 return 하는 solution 함수
알고리즘
1. clothes 배열로 딕셔너리를 만든다.
2. 딕셔너리의 키는 의상의 종류, 밸류는 의상 명.
3. 각 키의 밸류 갯수 +1 ( 안입는것도 포함) 를 곱하고 마지막에 1을뺀다 .( 모두다 안입는경우는없으므로)
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #위장 clothes = [['crow_mask', 'face'], ['blue_sunglasses', 'face'], ['smoky_makeup', 'face']] closet = {} result =1 for name in clothes: key = name[1] value = name[0] if key in closet: closet[key].append(value) else: closet[key]= [value] for key in closet.keys(): # 압입는 경우도 있으니 +1 해서 곱해주고 하나도 안입는 경우는 없으니 #마지막에 -1 해서 return한다 result =result * (len(closet[key])+1) return result -1 | cs |
'파이썬 > 프로그래머스' 카테고리의 다른 글
[python] 프로그래머스 - 키패드 누르기 (0) | 2020.08.04 |
---|---|
[python] 프로그래머스 - 스킬트리 (0) | 2020.08.04 |
[python] 프로그래머스 - 베스트 앨범 (0) | 2020.08.04 |
[python] 프로그래머스 - 전화번호 목록 (0) | 2020.08.04 |
[python] 프로그래머스 - 크레인 인형 뽑기 게임 (0) | 2020.07.31 |