반응형
# 한참 고민하다가 다른 분의 힌트를 받고 해답을 알게 됨.
# 힌트는 각 섹션별로 착용하지 않는걸 생각한다면 편할 것 같다.
# 예를 들어 아래와 같이 종류가 세가지가 있고 종류마다 2가지의 아이템인 (red, blue)이 있다고 했을 경우
# ["headgear", "eyewear", "underwear"]
# red, blue, no 이렇게 3가지의 경우로 생각한다면
# 각 아이템 별로 개수를 곱한 다음 모든 아이템을 안입는(no) 경우인
# headgear-no, eyewear-no, underwear-no 인 경우를 하나 뺀 걸 return 하는 방식.
from math import prod
def solution(clothes):
dic = {}
for i in clothes:
try: dic[i[1]] += 1
except: dic[i[1]] = 1
li = [i+1 for i in list(dic.values())]
return prod(li)-1
'알고리즘' 카테고리의 다른 글
[프로그래머스] 나누어 떨어지는 숫자 배열 (0) | 2023.06.27 |
---|---|
[프로그래머스] 튜플 (0) | 2023.06.26 |
[프로그래머스] [1차] 캐시 (0) | 2023.06.23 |
[프로그래머스] 행렬의 곱셈 (0) | 2023.06.22 |
[프로그래머스] n^2 배열 자르기 (0) | 2023.06.21 |