지나가던 개발자

[Python] 백준 9375번(패션왕 신혜빈) 문제 풀이 본문

PS/Python

[Python] 백준 9375번(패션왕 신혜빈) 문제 풀이

KwonYongHyeon 2022. 8. 27. 22:26

 

import collections

for i in range(int(input())):
    fashions = []
    for j in range(int(input())):
        fashions.append(input().split(" ")[1])
    n = list(collections.Counter(fashions).values())
    answer = 1
    for j in n:
        answer *= j+1
    print(answer-1)

 

 실버III밖에 안되는데 꽤나 어려웠던 문제였다. 이 블로그를 참고했다.

 

 예를 들어 a라는 종류의 옷이 2벌(a1, a2) 있고 b라는 종류의 옷이 3(b1, b2, b3)벌, c라는 종류의 옷이 1(c1)벌 있으면 a는 a1을 입어도 a2를 입어도 안 입어도 된다. b도 마찬가지로 b1을 입거나 b2를 입거나 b3를 입거나 안 입거나 하면 된다. c도 c1을 입거나 안 입거나. 그래서 11번줄에 answer에다가 j+1을 곱해준 것이다. 마지막줄의 -1은 모두 입지 않은 경우를 배제한 것이다.

Comments