입출력 예 설명
예제 #1
headgear에 해당하는 의상이 yellowhat, greenturban이고 eyewear에 해당하는 의상이 blue_sunglasses이므로 아래와 같이 5개의 조합이 가능합니다.
1. yellow_hat
2. blue_sunglasses
3. green_turban
4. yellow_hat + blue_sunglasses
5. green_turban + blue_sunglasses
예제 #2
face에 해당하는 의상이 crowmask, bluesunglasses, smoky_makeup이므로 아래와 같이 3개의 조합이 가능합니다.
1. crow_mask
2. blue_sunglasses
3. smoky_makeup
접근법
처음 입력받은 리스트의 의상 종류 개수를 세줍니다. 이 때 Counter를 사용하여 "의상 종류" : "의상 종류 개수"로 표현하였습니다. 그리고 전체 개수는 모든 의상 수의 곱과 같습니다. 하지만 여기서 착용하지 않는 경우도 세야 하므로 의상의 개수에 1을 각각 더해서 곱해줍니다. 마지막으로 반환할때는 모두 착용하지 않는 경우를 빼줍니다!
나의 코드
from collections import Counter
def solution(clothes):
count_clothes = Counter([clo for _,clo in clothes])
answer = 1
for key in count_clothes:
answer *= (count_clothes[key]+1)
return answer - 1