[단계별로 풀어보기][Python 3] 정수론 및 조합론 - 패션왕 신해빈(9375)
2022. 5. 3. 23:28ㆍ공부/알고리즘
9375번: 패션왕 신해빈
첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다.
www.acmicpc.net
해빈이가 가진 의상의 종류와 개수를 비교하여 경우의 수를 도출하는 문제다.
풀이
tc = int(input())
res = []
for i in range(tc):
n = int(input())
dc = {}
for j in range(n):
name, type = input().split()
if type not in dc:
dc[type] = 1
else:
dc[type] += 1
num = list(dc.values())
r = 1
for j in num:
r *= j+1
res.append(r-1)
for i in res:
print(i)
딕셔너리를 이용해 각 아이템의 종류를 구분한다.
각 아이템을 아예 착용하지 않는 경우가 있으니 +1을 하여 모두 곱해준 뒤, 아예 모든 아이템을 착용하지 않는 경우 1을 빼준다.
'공부 > 알고리즘' 카테고리의 다른 글
[Python3] 순열과 조합, 중복순열과 중복 조합 (0) | 2022.05.08 |
---|---|
[단계별로 풀어보기] 정수론 및 조합론 - 조합 0의 개수 (2004) (0) | 2022.05.08 |
[단계별로 풀어보기][Python 3] 정수론 및 조합론 - 링 (3036) (0) | 2022.05.03 |
[단계별로 풀어보기][Python 3] 정수론 및 조합론 - 검문(2981) (0) | 2022.05.03 |
[단계별로 풀어보기][python3] 정수론 및 조합론 - 최대 공약수 최소 공배수 (0) | 2022.05.03 |