[백준 9375번][Python/파이썬] 패션왕 신해빈

공학도 Lee·2023년 2월 9일
0

백준 문제 풀이

목록 보기
35/63

1. 문제


출처: 백준 9375번 패션왕 신해빈

2. 풀이


입력으로 주어지는 의상들을 종류별로 분류하고, 알몸이 아닌 조합을 구하면 되는 문제이다.
(dictionary를 이용해서 분류하면 의상 종류를 검색하는 데 시간을 줄일 수 있다.)

의상들을 모두 분류하고 나서, 종류별 의상의 개수들에 1을 더해 곱하고 한 개를 빼주면 된다.
(마지막에 한 개를 빼주는 이유는 알몸인 조합을 빼주는 것이다.)

3. 소스코드


case = int(input())
for _ in range(case):
    n = int(input())
    cloth = {}
    kinds = []
    for _ in range(n):
        name, kind = map(str,input().split())
        if kinds.count(kind):
            temp = cloth[kind]
            temp.append(name)
            cloth[kind] = temp
        else:
            kinds.append(kind)
            cloth[kind] = [name]
            
    result = 1
    for i in kinds:
        result *= (len(cloth[i])+1)
    print(result-1)

4. 그 외


조합을 구하는 것은 굉장히 단순하지만, dictionary 활용에 익숙해지기 위해서 다시 한번 정리하였다.

profile
이창민, Changmin Lee

0개의 댓글