728x90
반응형
우선 사전을 사용해서 의상을 종류별로 분류하고 몇 개의 의상이 있는지 센다.
한 종류당 의상의 개수 + 1개의 선택지가 생기는데 1개가 더해진 이유는 입지 않는 경우도 포함했기 때문이다.
각 의상의 종류별 선택지의 개수를 모두 곱하고 모두 안 입었을 경우는 제외해야 되므로 1을 뺀다.
EX) hat headgear, sunglasses eyewear, turban headgear
headgear 2개, eyewear 1개
-> ans = (2+1)*(1+1) - 1 = 3*2 - 1 = 6 - 1 = 5
for _ in range(int(input())):
dic = {}
for i in range(int(input())):
v, k = input().split()
if k not in dic:
dic[k] = 1
else:
dic[k] += 1
ans = 1
for value in dic.values():
ans *= (value + 1)
print(ans - 1)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 9506번 약수들의 합(python) (0) | 2020.02.13 |
---|---|
백준 알고리즘 9488번 시험 성적(python) (0) | 2020.02.13 |
백준 알고리즘 9086번 문자열(python) (0) | 2020.02.13 |
백준 알고리즘 9020번 골드바흐의 추측(python) (0) | 2020.02.13 |
백준 알고리즘 9012번 괄호(python) (0) | 2020.02.13 |