Algorithm
[Algorithm] 프로그래머스 위장 python
반응형
https://programmers.co.kr/learn/courses/30/lessons/42578
풀이
clothes
의 종류를key
로, 종류에 해당하는 옷의 개수를value
로 딕셔너리에 넣는다.- 옷을 선택하는 조합을 계산한다. (조합 식을 알면 간단한데, 모르면 어려움)
예시
예제 1의 딕셔너리 형태는 { headgear: 2, eyewear: 1 }
이다.
이때 각각의 옷의 종류에서 선택할 수 있는 경우의 수는,
headgear
-> 0개, 1개, 2개eyewear
-> 0개, 1개
따라서 옷을 선택하는 모든 경우의 수는 3 * 2 = 6
이고, headgear
0개, eyewear
0개를 선택하는 경우(아무것도 선택하지 않는 경우)를 빼야 하므로 6 - 1 = 5
가 답이 된다.
소스코드
def solution(clothes):
answer = 1
#구조화
clothesCnt = {}
for c in clothes:
cur = c[1]
if cur in clothesCnt:
clothesCnt[cur] += 1
else:
clothesCnt[cur] = 1
#조합 계산
for val in clothesCnt.values():
answer *= val + 1
return answer - 1
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스 베스트앨범 c++ (Map 활용) (0) | 2021.10.07 |
---|---|
[Algorithm] 프로그래머스 베스트앨범 python (0) | 2021.10.04 |
[Algorithm] 프로그래머스 전화번호 목록 python (0) | 2021.09.30 |
[Algorithm] 프로그래머스 입국심사 c++ (0) | 2021.09.29 |
[Algorithm] 백준 17298 오큰수 c++ (0) | 2021.09.26 |