알고리즘

프로그래머스 [해시] - 위장

ghtis1798 2021. 9. 6. 08:26

프로그래머스 해시 - 위장

image

1. 문제유형

  • hashmap

2. 해결과정

  • 경우의 수 문제이므로 각 type별 의상 개수를 구한다.
  • 각 type별 의상 개수 + 1을 곱한 값에서 -1 처리를 구한다.
  • 의상 개수 + 1을 하는 이유는 해당 의상을 안 입는 경우가 있기 때문이다.
  • 결과값에서 -1 처리를 하는 이유는 어떤 의상도 입지 않은 경우를 제거하기 위함이다.

3. 소스코드

from collections import defaultdict
def solution(clothes):
    answer = 1
    hashmap = defaultdict(list)

    for name, type in clothes:
        hashmap[type].append(name)

    for k, v in hashmap.items():
        answer *= len(v)+1

    return answer-1