최대 1 분 소요

사용 언어: Python3, Java

문제

의상

풀이

나의 풀이

from collections import defaultdict
from itertools import combinations

def solution(clothes):
    dic = defaultdict(list)
    for item, types in clothes:
        dic[types].append(item)
        
    ans = 0
    for k in range(1, len(dic) + 1):
        for val in combinations(dic.keys(), k):
            tmp = 1
            for x in val:
                tmp *= len(dic[x])
            ans += tmp
    
    return ans
  • 테스트 케이스: 통과
  • 제출 결과: 시간 초과

다른 풀이

참고

from collections import defaultdict
from itertools import combinations

def solution(clothes):
    dic = defaultdict(list)
    for item, types in clothes:
        dic[types].append(item)
    
    ans = 1
    for x in dic.values():
        ans *= (len(x) + 1)
    ans -= 1 # 다 안 입는 경우 제외
    
    return ans
  • 테스트 케이스: 통과
  • 제출 결과: 성공

스크린샷 2023-07-05 오후 12 09 05

IMG_0479



💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기