문제
요약
- 각 종류별로 최대 1가지 의상
- 착용한 의상의 종류와 개수가 다르면 다른 방법으로 간주
- 최소 한 개의 의상 입음
- 서로 다른 조합의 수 반환
분류
- 해시
풀이
1. 내 풀이
- 딕셔너리를 만들어서 key 를 종류로, value 를 종류에 해당하는 의상의 개수로.
- 모든 경우의 수를 구할 때, 해당 종류의 의상을 입지 않는 경우를 고려해, 1을 더해서 곱해준다.
- 모든 옷을 입지 않는 경우는 불가능하므로, 결괏값에서 1을 빼준다.
from collections import defaultdict
def solution(clothes):
coll = defaultdict(int)
for name, cate in clothes:
coll[cate] += 1
answer = 1
for i in coll.values() : answer *= i + 1
return answer - 1