문제
- M종류의 옷이 총 N개 있을 때, 서로 다른 옷의 조합 수는?
- 1 <= N <= 30
- 각 종류별로 최대 1가지 의상을 착용할 수 있음
- 하루 최소 한 개 의상을 입어야 함
풀이
- 각 종류별로 (옷의 개수+1) 가지 수를 갖는다.
- 모두 곱한 후, 아무 것도 입지 않는 경우의 수만 제외 해준다.
def solution(clothes):
answer = 1 # 정답 변수
types = [y for x, y in clothes] # 의상 종류만 담기
counts = [types.count(type) for type in set(types)] # 종류별 개수 세기
# 각 의상 종류별 (의상 개수+1) 곱하기
for c in counts:
answer *= c+1
return answer -1 # 모두 입지 않는 경우의 수 제외
References