문제 링크
https://www.acmicpc.net/problem/9375
9375번: 패션왕 신해빈
첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다.
www.acmicpc.net
풀이
- defaultdict(int)으로 풀이했다.
- 의상의 종류를 key, 의상 개수를 value 로 두었다.
따라서 의상을 입을 수 있는 경우의 수는
의상 종류마다 의상을 선택할 수 있는 경우의 수 value + 의상을 선택하지 않을 경우의 수 1 값을 다 곱한 후
알몸인 상태인 1을 빼주면 된다.
고등학교 때 확률에서 풀었던 문제 느낌
from collections import defaultdict
test = int(input())
for _ in range(test):
n = int(input())
dic = defaultdict(int)
# 의상 종류별 의상 개수 저장
for _ in range(n):
data = input().split()
dic[data[1]] += 1
cnt = 1
# 경우의 수 계산
for i in dic:
cnt *= dic[i] + 1
print(cnt - 1)
'개발 > algorithm' 카테고리의 다른 글
[백준 1676번] 팩토리얼 0의 개수 - python (0) | 2022.02.14 |
---|---|
[백준 2579번] 계단 오르기 -python (0) | 2022.02.14 |
[백준 17210번] 비밀번호 찾기 -python (0) | 2022.02.14 |
[백준 1764번] 듣보잡 - python (0) | 2022.02.14 |
[백준 1620번] 나는야 포켓몬 마스터 이다솜 - python (0) | 2022.02.14 |