반응형
코드
import sys
n = int(input())
for _ in range(n):
dic = dict()
m = int(input())
for _ in range(m):
name = sys.stdin.readline().split()
if name[1] in dic:
dic[name[1]] += 1
else:
dic[name[1]] = 1
ans = 1
for val in dic.values():
ans *= (val+1)
print(ans-1)
설명
((a종류+1) * (b종류+1) * (c종류+1) * ... ) - 1로 계산해줬다.
1씩 더해준 이유는 해당 의상을 입어도 되고 안입어도 되기 때문이고 마지막에 1을 빼준 이유는 아무것도 입지 않은 경우는 제외해야 하기 때문이다. 중복은 없기 때문에 의상의 이름은 중요하지 않고 각각의 종류가 몇개씩 있는지만 알면 된다. 따라서 딕셔너리를 사용하여 개수를 알아냈다.
반응형
'알고리즘 > 자료구조' 카테고리의 다른 글
[백준][Python] 12605번 단어순서 뒤집기 (0) | 2022.11.14 |
---|---|
[백준][Python] 19583번 싸이버개강총회 (0) | 2022.09.14 |
[백준][Python] 1302번 베스트셀러 (0) | 2022.02.24 |
[백준][Python] 10546번 배부른 마라토너 (0) | 2022.02.23 |
[백준][Python] 2776번 암기왕 (0) | 2022.02.23 |
댓글