[파이썬] 9375번. 패션왕 신해빈 풀이

2023. 2. 22. 17:35·알고리즘과 코딩 테스트/백준 25단계

같은 종류의 의상은 하나씩만 착용할 수 있으며, 알몸이 아니어야 하므로 꼭 1종류 이상의 의상은 착용해야 한다.

예를 들어, 3종류의 의상이 있으면 1종류만 착용해도 되고, 2종류를 착용해도 되고, 3종류를 착용해도 되지만

0종류를 착용하는건 안된다.

 

그렇다면 다음과 같은 식을 세울 수 있다.

(a종류의 의상 수 + 1) x (b종류의 의상 수 + 1) x (c종류의 의상 수 + 1) ...... - 1

 

여기서 각 종류수에 +1을 해준 이유는 그 종류의 의상을 착용하지 않아도 되는 경우를 추가했기 때문이고

마지막에 -1을 해준 이유는 모든 의상을 착용하지 않은 경우는 제외해야 하기 때문이다.

 

의상의 종류는 같은데 이름이 다른 의상이 여러개일 수 있으므로 

[의상의 종류]를 키, [의상의 이름들을 담은 리스트]를 값으로 가진 딕셔너리를 통해 문제를 푼다.

 

T = int(input())

for _ in range(T):
    clothes_dict = {}

    n = int(input())
    for _ in range(n):
        clothes_name, clothes_type = input().split() # 옷의 이름, 옷의 종류
        if (clothes_type not in clothes_dict): # 딕셔너리에 없던 옷 종류면
            clothes_dict[clothes_type] = [clothes_name] # 옷의 이름을 담은 리스트를 키(옷 종류)에 추가한다.
        else: # 딕셔너리에 이미 존재하는 옷 종류면 값 리스트에 추가한다.
            new_clothes = clothes_dict.get(clothes_type)
            new_clothes.append(clothes_name)
            clothes_dict[clothes_type] = new_clothes
    
    count = 1
    for key in clothes_dict:
        count *= len(clothes_dict[key]) + 1
    print(count - 1)

 

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

 

9375번: 패션왕 신해빈

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

www.acmicpc.net

 

'알고리즘과 코딩 테스트 > 백준 25단계' 카테고리의 다른 글

[파이썬] 15650번. N과 M (2) 풀이  (0) 2023.03.03
[파이썬] 2004번. 조합 0의 개수 풀이  (0) 2023.02.24
[파이썬] 2981번. 검문 풀이  (1) 2023.02.21
[파이썬] 1002번. 터렛 풀이  (0) 2023.02.20
[파이썬] 2477번. 참외밭 풀이  (0) 2023.02.13
'알고리즘과 코딩 테스트/백준 25단계' 카테고리의 다른 글
  • [파이썬] 15650번. N과 M (2) 풀이
  • [파이썬] 2004번. 조합 0의 개수 풀이
  • [파이썬] 2981번. 검문 풀이
  • [파이썬] 1002번. 터렛 풀이
달거달거
달거달거
개발자를 꿈꿉니다
  • 달거달거
    SWEE IT
    달거달거
  • 전체
    오늘
    어제
    • 분류 전체보기 (288)
      • 개발 환경 (5)
        • VSCode (1)
        • 파이썬 (Anaconda) (1)
        • Git (1)
        • Flutter (0)
        • Kotlin (1)
      • Spring (5)
        • 스프링 부트와 JPA 실무 완전 정복 로드맵 (2)
        • 스프링 부트와 AWS로 구현하는 웹 서비스 (1)
        • 채쌤의 스프링 부트 프로젝트 (1)
      • 알고리즘과 코딩 테스트 (16)
        • 파이썬 문법 (2)
        • 백준 25단계 (10)
        • 프로그래머스 코딩 테스트 고득점 Kit (1)
        • 코틀린 문법 (1)
      • 요리 (236)
      • 데이터베이스 (2)
        • MySQL (2)
      • 안드로이드 (11)
        • 연습 코드 (6)
        • 도서 내용 정리 (4)
      • Dart와 Flutter (5)
        • 도서 내용 정리 (4)
        • Flutter 위젯 정리 (1)
        • 15개 프로젝트 (2)
      • 피그마 (0)
        • 도서 내용 정리 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오블완
    아나콘다
    Flutter
    머신러닝
    백준
    c++
    코딩 테스트
    AWS
    데이터베이스
    자취요리
    spring
    vscode
    git
    DART
    파이썬
    주석
    문법
    mysql
    알고리즘
    피그마
    안드로이드
    node.js
    코틀린
    JPA
    C
    프로그래머스
    docker
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
달거달거
[파이썬] 9375번. 패션왕 신해빈 풀이
상단으로

티스토리툴바