카테고리 없음

[Programmers / Python 풀이] 위장

Hoo_Dev 2023. 1. 4. 11:55
def solution(clothes):
    answer = 1
    dic = {}
    for i in clothes:
        for j in range(len(i)//2):
            if i[1] in dic:
                dic[i[1]] += 1
            else:
                dic[i[1]] = 1
    
    for j in dic.values():
        answer = (j+1) * answer
    
    answer -= 1
    return answer

해시를 통해 딕셔너리에 각 옷 종류 별 개수를 담고 경우의 수를 통해 풀이.

 

 (옷 종류1 + 1)*(옷 종류2 + 1)*(옷 종류3 + 1) - 1 

 

위와 같은 식을 사용하게 되는데 괄호항 안에 +1을 하는 경우는 해당 종류의 옷을 안입는 경우가 있으니 +1을 해주게 되고

최종적으로 곱한 값에 -1을 하는 이유는 옷을 모두 안입는 경우는 없으므로 옷을 입지 않은 경우의 수 1을 빼준다.