728x90
반응형
9375번: 패션왕 신해빈
첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다.
www.acmicpc.net
풀이과정
각 테스트케이스의 for문 안에서 카테고리별 담기는 의상의 개수를 세어준다.
경우의 수를 구하기 위해 의상별 개수를 곱해줄 때 '해당 의상(카테고리)을 선택하지 않는 경우'를 추가하기 위해 +1을 해주고,
최종적으로 '아무것도 입지 않은 경우'를 -1 해주어야 한다.
해당 경우의 수를 +-해줘야한다는 걸 찾는 게 어려웠다.
import sys; input = sys.stdin.readline
N = int(input())
for i in range(N):
clothes = {}
n = int(input())
for j in range(n):
name, category = map(str, input().split())
if category not in clothes:
clothes[category] = 1
else:
clothes[category] += 1
result = 1
for count in clothes.values():
result *= count + 1 # 해당 의상을 선택하지 않은 경우를 위해 +1
print(result - 1) # 아무것도 입지 않은 경우를 제외하기 위해 -1
728x90
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[Baekjoon] 1302 Python (0) | 2023.08.29 |
---|---|
[Baekjoon] 1149 Python (0) | 2023.08.29 |
[Baekjoon] 2606 Python (0) | 2023.08.28 |
[Baekjoon] 11047 Python (0) | 2023.08.28 |
[Baekjoon] 2490 Python (0) | 2023.08.28 |