먼저 의상의 종류를 딕셔너리의 키에 넣고 의상을 값에 넣어 주었다
for c in clothes:
category = c[1]
item = c[0]
if category not in dic: # 키값에 해당 의상종류가 없을 때
dic[category] = [item]
else: #이미 해당 의상 종류가 키값에 있을 때
dic[category].append(item)코드를 입력하세요
이때 위의 코드처럼 키값을 이미 넣어준 의상 종류에 해당되는 의상을 넣을 때와 아닐 때를 다르게 처리해주어야한다.
그렇지 않으면 value가 추가되는 것이 아니라 대체되어 모든 의상종류가 한 개의 value만 갖게되는 현상이 발생함
for key,value in dic.items(): # 각 종류별 의상의 수를 곱하면 조합의 수
answer *= (len(value)+1)
return answer-1 #아무것도 안고르는 경우 제외
그리고 조합의 개수를 구하는 방법으로는
(각 종류당 의상 수 +1) 를 for문으로 딕셔너리를 돌며 해주었다
왜 +1 을 해주었냐면 해당 의상종류에서 안고르는 경우도 포함 시킨 것이다.
그래서 마지막에 결과값에 아무의상도 고르지 않는 경우를 빼주기 위해 -1을 하여 return해준다.