Hikenny25

9375 - 패션왕 신해빈 본문

baekjoon (solved.ac)/class 3 Solve

9375 - 패션왕 신해빈

hikenny 2022. 10. 26. 07:40

https://www.acmicpc.net/problem/9375

 

9375번: 패션왕 신해빈

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

www.acmicpc.net

 

- 구현 (조합론)

 

import sys
input = sys.stdin.readline

t = int(input())
for _ in range(t):
    n = int(input())
    d = dict()
    for _ in range(n):
        k = input().split()
        try:
            d[k[1]] += 1
        except:
            d[k[1]] = 2
    
    ans = 1
    for value in d.values():
        ans *= value
    
    print(ans-1)

 

중학생 때 배운 경우의 수를 이용해서 문제를 해결했다!

마지막에 전부 다 0인 경우인 1만 빼면 정답이 된다.

 

except 구문에 d[k[1]] = 2 라고 적은 이유는 하나만 들어와도 그것을 쓰는 경우, 안 쓰는 경우로 2개이기 때문이당

 

 

개인적인 의견인데 dict는 진짜 좋은 것 같다. 인덱스를 내 마음대로 조정할 수 있으니 O(1)로 바로 접근할 수 있도록 만드는게 쉽다ㅎㅎ

 

그리고 >> try~except 구문 << 개꿀이다! 특히 index error 처리할 때 너무 편하다

'baekjoon (solved.ac) > class 3 Solve' 카테고리의 다른 글

1931 - 회의실 배정  (1) 2022.10.26
1541 - 잃어버린 괄호  (0) 2022.10.26
9461 - 파도반 수열  (0) 2022.10.25
11659 - 구간 합 구하기 4  (0) 2022.10.25
11727 - 2×n 타일링 2  (0) 2022.10.25
Comments