[백준/Python] 9375_패션왕 신해빈
2021. 6. 28. 14:11ㆍ백준 알고리즘
문제
https://www.acmicpc.net/problem/9375
풀이
해시 테이블 자료구조를 사용합니다.
의상의 종류를 key로 의상의 이름을 입력받을 때마다 value(의상의 갯수)값을 1씩 더합니다.
의상의 종류별로 의상을 착용하지 않는 경우까지 더해서 (value + 1)를 모두 곱하고, 최종 결과에 아무것도 안 입은 경우(1)를 빼서 answer를 구합니다.
ex) answer = (headgear의 의상 갯수 + 1)(eyewear의 의상 갯수 + 1) - 1
코드
import sys
t = int(sys.stdin.readline().rstrip()) # 테스트 갯수
for _ in range(t):
n = int(sys.stdin.readline().rstrip())
cloth = dict() # 해시
for _ in range(n):
cloth_name, kind = sys.stdin.readline().rstrip().split() # 의상 이름, 종류
if kind not in cloth:
cloth[kind] = 1
continue
cloth[kind] += 1
cloth_counts = cloth.values() # 종류별 의상 갯수
answer = 1
for i in cloth_counts:
answer *= (i + 1)
print(answer - 1) # 아무것도 안입은 경우를 뺌
'백준 알고리즘' 카테고리의 다른 글
[백준/Python] 1991_트리 순회 (0) | 2021.06.29 |
---|---|
[백준/Python] 11052_카드 구매하기 (0) | 2021.06.29 |
[백준/Python] 1011_Fly me to the Alpha Centauri (0) | 2021.06.28 |
[백준/Python] 14499_주사위 굴리기 (0) | 2021.06.25 |
[백준/Python] 9184_신나는 함수 실행 (0) | 2021.06.25 |