728x90
반응형
링크: https://www.acmicpc.net/problem/9375
아이디어
- 규칙을 찾아 식으로 표현해보자
- 하나라도 입고있으면 되고 같은 종류의 옷은 2개이상 못입는다.
- 옷 종류별로 개수를 구한 후 + 1 하고 서로 곱하면 조합할 수 있는 모든 경우의 수가 된다.
- 모자가 3개있으면 각 모자를 모두 쓰는 경우 + 안쓰는 경우 이렇게 존재
- 입력받는 옷을 종류를 기준으로 갯수를 저장한다.
- 갯수는 딕셔너리 형태로 {hat: 3} 과같이 저장한다.
- 이후 위에서 구한 식을 통해 조합 할 수 있는 전체 경우의 수를 구한다.
- 알몸인 경우 1을 빼면 알몸이 아닌 모든 경우의 수를 구할 수 있다.
구현
test_case = int(input())
for i in range(test_case):
n = int(input())
clothes = {}
for j in range(n):
a, b = input().split()
if b not in clothes:
clothes[b]=1
else:
clothes[b] += 1
sum = 1
for k in clothes:
sum *= clothes[k] + 1
print(sum-1)
마무리
- 오랜만에 코테 감 잡으려 실버 3부터 시작하였는데 감이 많이 죽은게 느껴졌다
- 파이썬 딕셔너리 사용법이 생각이 안났다... 이럴수가
- 선언은 {}로 key을 통해 value 값을 받는 법은 딕셔너리[key]
- 기초적인거지만 다시 머리속에 넣고 넘어간다. 호호
728x90
반응형
'코테준비 > 백준' 카테고리의 다른 글
[백준] 21610번: 마법사 상어와 비바라기 - Python (0) | 2025.04.15 |
---|---|
[백준] 1966번: 프린터 큐 - Python (2) | 2025.04.14 |
[백준] 3568번: iSharp - Python (0) | 2025.01.21 |
[백준] 1929번: 소수 구하기 - Python (0) | 2025.01.08 |