개발공부/algorithm
[프로그래머스][python] 위장 - Hash
so.py
2021. 4. 17. 21:24
- 프로그래머스: 위장 Level2
- 문제링크
코딩테스트 연습 - 위장
programmers.co.kr
나의 접근
- 딕셔너리에 각 key가 등장할 때 마다 값을 increment 해준다.
- 일반 딕셔너리로는 key가 존재하지 않는 경우에 대해 새로운 key를 추가해주고, 존재하는 경우에 대해 +1 시켜줘야한다.
- Defaultdict를 사용하면 이러한 예외처리를 해주지 않아도 된다.
- 딕셔너리에서 각 key의 count수에 대한 경우의 수를 곱해준다.
- 전체 count에서 아무것도 안입은 경우 하나를 빼준다.
from collections import defaultdict #1
def solution(clothes):
wardrobe = defaultdict(int)
for i in clothes:
key = i[1] #1
wardrobe[key] += 1 #1
count = 1
for i in wardrobe.values(): #2
count = count * (i + 1)
return (count - 1) #3