[프로그래머스] 의상

임윤희·2025년 3월 30일

의상

🔍 알고리즘 분류

  • 해시맵

💡 문제 풀이

  1. 종류를 key, 의상을 value로 하는 해시맵 생성
  2. 가능한 코디 조합은 (N+1)(M+1)(K+1)..
    ex) (N+1)(M+1) = NM+N+M+1
    • NM: 옷 둘 다 입음
    • N: 하나만 입음
    • M: 하나만 입음
    • 1: 둘 다 입지 않음
  3. 맨 마지막에 옷을 하나도 입지 않는 경우 제외

📄 코드

  • Python
from collections import defaultdict

def solution(clothes):
    answer = 1
    dic = defaultdict(list)
    
    # 종류를 키, 의상을 값으로 하는 해시맵 생성
    for cloth, category in clothes:
        dic[category].append(cloth)
                
    for key, val in dic.items():
        answer *= (len(val) + 1) # 가능한 조합은 (N+1)(M+1)
    
    return answer - 1 # 의상 하나도 안 입은 경우 제외

0개의 댓글