문제.
풀이.
우선 입력은 딕셔너리를 사용해서 입력을 받았다.
의상 종류가 A, B, C가 있을때
(A의 갯수 + 1) * (B의 갯수 + 1) * (C의 갯수 + 1) - 1
을 출력하면 된다.
소스코드.
import sys
tc = int(sys.stdin.readline())
for i in range(tc):
n = int(sys.stdin.readline())
dict = {}
for j in range(n):
c1, c2 = sys.stdin.readline().split()
if c2 not in dict:
dict[c2] = 1
elif c2 in dict:
dict[c2] += 1
result = 1
for d in dict.values():
result *= d+1
print(result-1)
'프로그래밍 > 백준' 카테고리의 다른 글
백준 10830 행렬 제곱 - 파이썬 (0) | 2021.07.13 |
---|---|
백준 1676 팩토리얼 0의 개수 - 파이썬 (0) | 2021.07.13 |
백준 1010 다리 놓기 - 파이썬 (0) | 2021.07.13 |
백준 3036 링 - 파이썬 (0) | 2021.07.13 |
백준 11051 이항 계수2 - 파이썬 (0) | 2021.07.12 |