[백준/Python] 9375번 - 패션왕 신해빈

2023. 9. 9. 01:19·Algorithm/BaekJoon
import sys

input = sys.stdin.readline

for _ in range(int(input())):
  clothes = {}
  # 옷 분류
  for _ in range(int(input())):
    cloth, type = input().rstrip().split()
    if type in clothes:
      clothes[type] += 1
    else:
      clothes[type] = 1
  # 분류 대로 코디하기
  # +1 해서 숫자를 모두 곱하고 -1(알몸)
  result = 1
  for _, v in clothes.items():
    result *= (v + 1)  # 이 분류를 코디에 포함하지 않는 경우의 수
  print(result - 1)

고등학교 때 배운 확률 과목이 계속 생각났다ㅋㅋㅋ

옷을 분류하고, 코디의 경우의 수를 구하면 되는 쉬운 문제다.

 

경우의 수는 구하는 법은 다음과 같다.

각 분류의 옷의 개수에 + 1을 먼저 해야 한다. 여기서 1은 이 분류를 코디에 포함하지 않는 경우의 수다.

3
hat headgear
sunglasses eyewear
turban headgear

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

라고 설명이 나와있다. 이를 수학적으로 다시 쓰면,

(none, hat), (none, turban), (sunglasses, none), (hat,sunglasses), (turban,sunglasses) 이렇게 5가지가 된다.

 

즉, none이라는 경우의 수를 위해 1을 더한 것이다.

이렇게되면 (none, none) 이라는 알몸(!)인 경우의 수가 나오므로 마지막에 -1, 1을 뺀 것이다!

 

'Algorithm > BaekJoon' 카테고리의 다른 글

[백준/Python] 13549번-숨바꼭질 3  (0) 2023.09.10
[백준/Python] 3184번 - 양  (0) 2023.09.09
[백준/Python] 2146번 - 다리 만들기  (0) 2023.09.06
[백준/Python] 2573번 - 빙산  (0) 2023.09.06
[백준/Python] 2170 - 선 긋기  (0) 2023.09.02
'Algorithm/BaekJoon' 카테고리의 다른 글
  • [백준/Python] 13549번-숨바꼭질 3
  • [백준/Python] 3184번 - 양
  • [백준/Python] 2146번 - 다리 만들기
  • [백준/Python] 2573번 - 빙산
빵빵0
빵빵0
(아직은) 공부하고 정리하는 블로그입니다.
  • 빵빵0
    Hack Your World
    빵빵0
  • 전체
    오늘
    어제
    • 분류 전체보기 (92)
      • Error Handling (7)
      • Project (5)
        • MEV (2)
      • Architecture (0)
        • API (0)
        • Cache (0)
        • 사소한 고민거리 (0)
      • Computer Science (4)
        • Data Structure (2)
        • Database (1)
        • Cloud (0)
        • OS (0)
        • Infra, Network (1)
        • AI (0)
      • Language (8)
        • Go (8)
        • Rust (0)
        • Python (0)
        • Java (0)
      • Algorithm (40)
        • BaekJoon (18)
        • Programmers (7)
        • LeetCode (6)
        • NeetCode (9)
      • SW Books (9)
        • gRPC Up & Running (1)
        • System Design Interview (2)
        • 스프링 입문을 위한 자바 객체지향의 원리와 이해 (6)
        • 블록체인 해설서 (0)
        • 후니의 쉽게 쓴 CISCO 네트워킹 (0)
      • BlockChain (4)
        • Issues (0)
        • Research (4)
        • Tech (0)
      • Own (8)
        • TIR(Today I Read) (3)
        • Personal (2)
        • Novel (0)
        • Memo (3)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Python
    go
    golang
    context
    BEAKJOON
    BFS
    MongoDB
    DP
    chart
    Programmers
    candlechart
    스택
    NeetCode
    BaekJoon
    KBW
    goroutine
    2024
    EVM
    MEV
    Hash Table
    blockchain
    ethereum
    큐
    프로그래머스
    Greedy
    백준
    two pointer
    블록체인
    LeetCode
    Palindrome
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
빵빵0
[백준/Python] 9375번 - 패션왕 신해빈
상단으로

티스토리툴바