- 프로그래머스: 위장 Level2
- 문제링크
나의 접근
- 딕셔너리에 각 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
'개발공부 > algorithm' 카테고리의 다른 글
[백준][python] 1946 신입사원 - Greedy (0) | 2021.04.21 |
---|---|
[프로그래머스][python] 전화번호 목록 (0) | 2021.04.17 |
[프로그래머스][python] 가장 큰 수 (0) | 2021.04.17 |
[백준][python]10844.쉬운계단수 - DP (0) | 2021.04.13 |
[백준][python] 9658.돌게임4 - DP (0) | 2021.04.11 |