[Python] 백준 9375번 : 패션왕 신해빈

hjeu·2025년 1월 8일

백준

목록 보기
14/48

💡문제

백준 9375번 문제 링크

🍀풀이

이 문제는 학원 다녔을 때 solved에서 풀기로 한 문제였는데... 그때 프로젝트를 하느라 못 풀었던 문제였다.
처음에는 그냥 딱 보고 하나씩 비교해 가면서 풀려고 했는데 뭔가 그렇게 푸는게 아닌거 같았다. 그래서 알고리즘 분류를 봤더니 조합론이었고, 어떻게 풀면 좋을까 고민을 하다가 일단 해빈이는 적어도 1개만 걸치면 나갈 수 있으니까, 옷을 입는 모든 경우의 수에서 아무것도 안 입는 경우의 수를 빼서 계산하면 될거 같다는 생각을 했다.
그리고 옷의 각각의 종류에 대해 (상의 개수 + 1(상의를 안 입는 경우)) * (하의 개수 + 1(하의를 안 입는 경우)) 이렇게 계산을 하고 아무것도 안입는 경우의 수 -1을 하면 된다.

코드

T = int(input())

for _ in range(T):
    result = 1
    n = int(input())
    clothes = dict()
    
    for _ in range(n):
    	# 딕셔너리에 key를 옷의 종류로 정한다.
        name, type = input().split()
        
        # 옷이 이미 있는 종류이면 key에 해당하는 값에 +1 해주고 아니라면 새롭게 key를 추가
        if not type in clothes:
            clothes[type] = 1
        else:
            clothes[type] += 1
    
    for i in clothes:
        result *= (clothes[i] + 1)
    
    print(result - 1)

생각을 해야하는 문제가 너무 귀찮다...


profile
나는야 개발왕이 될거야! (๑ •̀ω•́)۶

0개의 댓글