What I Learned/Algorithm Practice

[백준 - python] 9375번: 패션왕 신해빈

Interrobang 2022. 12. 7. 19:46

문제 링크

 

9375번: 패션왕 신해빈

첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로   (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다.

www.acmicpc.net

문제 풀이

import math

t = int(input())

for i in range(t):
  n = int(input())
  type_list = []
  type_count = []

  for j in range(n):
    cloth, type = input().split()

    if type not in type_list:
      type_list.append(type)
      type_count.append(2)
    else:
      type_count[type_list.index(type)] += 1
  
  ans = 1
  for k in range(len(type_count)):
    ans *= type_count[k]
  print(ans - 1)

9375 입출력 예시

*key point: 각 의상의 종류 + 1(의상을 안 입는 경우) 을 곱한 뒤에 - 1(아무것도 안 입는 경우)을 해주어 경우의 수를 구한다. 딕셔너리를 활용하면 조금 더 쉬운 풀이가 가능할 것 같다.