백준 9375번 바로가기

나의 풀이

import sys
from collections import Counter

read = sys.stdin.readline

for _ in range(int(read().strip())):
  closet = []
  for _ in range(int(read().strip())):
    temp = read().split()
    closet.append(temp[1])
  closet = Counter(closet)
  ans = 1
  for c in closet.values():
    ans *= (c+1)
  print(ans-1)

CODE REVIEW

  1. (종류별 갯수 + 1)을 모두 곱해준 뒤에 1을 빼주면 원하는 값이 나온다.
  2. collections 모듈의 Counter 클래스를 이용하여 편하게 해결했다.