1. 문제
https://programmers.co.kr/learn/courses/30/lessons/42578
2. 풀이
- 해시를 사용하면 손쉽게 풀 수 있는 문제입니다.
- 딕셔너리에 옷 종류를 key로, 옷 이름은 집합 value에 넣어줍니다.
- 모든 값을 넣고 옷 종류마다 +1 을 해준 값을 정답해 곱해줍니다. (+1은 옷을 안 입는 경우입니다.)
- -1 한 값을 정답으로 해줍니다(모두 벗은 경우)
def solution(clothes):
answer = 1
spy_dic = {}
for wear, kind in clothes: # 딕셔너리에 옷 종류를 key로 옷 이름을 집합 value로 넣는다.
if kind not in spy_dic:
spy_dic[kind] = set()
spy_dic[kind].add(wear)
for kind in spy_dic: # 옷 종류마다 + 1 한 값을 정답에 곱해준다.
answer *= (len(spy_dic[kind]) + 1)
return answer - 1
PREVIOUS[프로그래머스] 큰 수 만들기 풀이
NEXT[프로그래머스] 카펫 풀이