반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
가지고 있는 옷과 옷의 종류를 입력받고, 가능한 의상의 조합 수를 계산하는 문제입니다.
2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학
같은 이름을 가진 의상은 존재하지 않는다고 명시되어 있습니다. 의상의 이름은 고려할 필요가 없으며, 종류별로 몇 가지 의상을 가졌는지가 중요합니다.
3. 코드
T = int(input())
for i in range(T):
N = int(input())
clothes = dict()
for i in range(N):
items, kinds = input().split()
# 이미 있는 종류일 경우
if kinds in clothes:
clothes[kinds] += 1
# 새로운 종류 추가
else:
clothes[kinds] = 1
res = 1 # 결과값
for i in clothes:
res *= clothes[i]+1
print(res-1)
딕셔너리(dictionary) 자료형을 사용하여 종류별로 의상 수를 입력받습니다. 이미 있는 종류일 경우에는 의상 수를 +1하고, 없는 종류일 경우 추가합니다.
경우의 수는 종류별로 (가진 옷의 수 + 1[안 입음])를 곱한 다음에, 1을 빼줍니다. 여기서 1은 알몸 상태로, 모든 종류의 옷을 안 입었을 경우입니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 15953 상금 헌터 - Python (0) | 2022.02.04 |
---|---|
[구현/수학] 백준 학점계산 - Python (0) | 2022.02.04 |
[브루트포스/수학] 백준 2501 약수 구하기 - Python (0) | 2022.02.04 |
[구현/수학] 백준 2875 대회 or 인턴 - Python (0) | 2022.02.04 |
[구현/수학] 백준 1292 쉽게 푸는 문제 - Python (0) | 2022.02.04 |
댓글