영아일지

[프로그래머스 고득점 키트 - 해시] level 2 - 위장 본문

카테고리 없음

[프로그래머스 고득점 키트 - 해시] level 2 - 위장

영아일지 2023. 3. 23. 12:19

내 풀이

sol 1)

1. 종류별 옷 딕셔너리를 생성한다  

     - 이때, v 값을 더하려면 리스트 안에 두어야 함!

2. 경우의 수를 곱한다

     - 어렸을 때 배웠던 수학 공식인 지수의 곱에서 아이디어를 얻은 것인데 경우의 수를 구할 때 (개수+1)*(개수+1) ...으로

       개수를 생성하고 0,0,0 인 수 하나를 빼면 경우의 수가 나온다

def solution(clothes):
    #종류별 옷 딕셔너리 생성
    dic = {}
    for v, k in clothes:
        if k in dic:
            dic[k] += [v]
        else:
            dic[k] = [v]
    
    #dic = {"face":["crow_mask","blue_sunglasses","smoky_makeup"]}
    
    ans = 1
    for d in dic.keys():
        ans *= (len(dic[d])+1)
    return ans-1