프로그래머스 - 의상
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42578
전체 경우의 수는 옷을 하나도 안입는 경우를 제외한 모든 수 -> 카테고리 별 경우의 수를 product로 계산 뒤 1을 뺴주면 된다.
- Counter를 통해 Category 별 경우의 수 추출
- reduce 함수를 통해 전체 곱연산
1
2
3
4
5
6
7
8
9
10
11
from collections import Counter
from functools import reduce
def solution(clothes):
answer = 0
# 경우의 수
count = Counter([category for _, category in clothes])
# category 별 경우의 수 (product) - 1
return reduce(lambda x,y : x*(y+1), count.values(), 1) - 1