해시문제이다.
처음에 딕셔너리로 각각 몇개인지 만들고,
headgear는 총 2개 있으니, 스파이에게는 총 3가지의 경우의 수가 있다.
1번을 입는다.
2번을 입는다.
headgear를 아무것도 입지 않는다.
eyewear는 총 1개 있으니, 스파이에게는 총 2가지의 경우의 수가 있다.
1번을 입는다.
eyewear를 입지 않는다.
그렇다면 총 3 x 2 가지의 경우의 수 인 6가지가 존재하고, 이 중 한 가지는 headgear도 입지 않고 eyewear도 입지 않은 경우가 되기 때문에 이 경우를 제외하 5가지가 정답이 되게 된다.
출처: https://coding-grandpa.tistory.com/88 [개발자로 취직하기:티스토리]
def solution(clothes):
answer = 1
cloth = {}
for c in clothes:
if c[1] not in cloth:
cloth[c[1]] = 1
else:
cloth[c[1]] += 1
for i in cloth.values():
answer *= i+1
return answer - 1