https://www.acmicpc.net/problem/9375
defaultdict
)from collections import defaultdict
t = int(input())
for _ in range(t):
n = int(input())
closet = defaultdict(list) # KeyError 방지
for _ in range(n): # 의상과 종류를 closet에 저장
name, type = input().split()
closet[type].append(name)
cnt = 1
for key in closet.keys(): # for key in closet과 동일
cnt *= len(closet[key]) + 1 # 각 종류의 개수 + 1(해당 종류를 입지 않는 경우)
print(cnt - 1) # 모든 종류를 입지 않는 경우 제외
defaultdict
로 쉽게 구현했다.collections.defaultdict
를 사용하면 KeyError를 방지할 수 있다.for i in dictionary
에서, i
는 key
이다.from collections import defaultdict
int_dict = defaultdict(int) # 디폴트값이 int인 딕셔너리 선언 (str, list, set 등도 가능)
print(int_dict) # defaultdict(<class 'int'>, {})
print(int_dict['a']) # 0
print(int_dict) # # defaultdict(<class 'int'>, {'a': 0})