[백준/파이썬] 9375 패션왕 신해빈

#문제링크

https://www.acmicpc.net/problem/9375

 

9375번: 패션왕 신해빈

첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로   (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다.

www.acmicpc.net

#나의풀이

import sys

if __name__ == '__main__':
    T = int(sys.stdin.readline())

    for _ in range(T):
        n = int(sys.stdin.readline())
        clothes = dict()
        result = 1

        for _ in range(n):
            name, part = sys.stdin.readline().split()
            if part in clothes:
                clothes[part] += 1
            else:
                clothes[part] = 1

        for value in clothes.values():
            result *= (value+1)
        print(result-1)

#해설

clothes라는 딕셔너리를 만들어서 종류에 따라 값을 넣어주었다.

이후 종류에따라 안입었을때를 생각해 +1을 해주고 전부 곱해주었다. 이렇게 전부 곱하게되면 모든 종류에 의상을 안입는 경우가 생긴다. 문제에서는 이를 취급하지 않으므로 -1를 해주고 출렸했다.