https://school.programmers.co.kr/learn/courses/30/lessons/42578
from collections import Counter
def solution(clothes):
clothes_dic = Counter([clothe[1] for clothe in clothes])
count = 1
# clothes_dic = {'headgear': 2, 'eyewear': 1}
for stock in clothes_dic.values(): # 각 종류의 옷의 개수를 가져온다.
count = count*(stock +1) # 안입는 경우 +1를 더해준다.
print(count-1) # 아무것도 안입는 경우를 빼준다.
return count-1
solution([["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]])
만약 상의: a,b 하의: c,d 이렇게 아이템이 있을 경우 경우의 수는 아래와 같다.
1. a
2. b
3. c
4. d
5. a,c
6. a,d
7. b,c
8. b,d
그리고 이것은 다시 생각해보면, 상의: a,b,착용x / 하의: c,d,착용x 로 볼 수 있다.
하지만 착용x,착용x인 경우는 제외해줘야 하므로, 3*3-1을 하면 된다.