[Algorithm] BOJ : 패션왕 신해빈

2025. 1. 21. 15:06·Algorithm

안녕하세요, iOS 개발하는 루피입니다.

 

오늘은 백준 9375번 패션왕 신해빈 문제를 풀어보겠습니다.

 

바로 시작합니다.


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

풀이

#include<bits/stdc++.h>
using namespace std;

int main() {
    int testCase; cin >> testCase;
    for (int i=0;i<testCase;i++) {
        int num; cin >> num;
        map<string,int>m;

        for (int j=0;j<num;j++) {
            string name,type; cin >> name >> type;
            m[type]++;
        }
        int res = 1;
        // 핵심 로직
        for(auto it : m) res *= (it.second+1);
        cout << res-1 <<'\n';
    }
}
  • 문제를 풀면 사실 상 name은 사용하지 않아도 됨을 인지할 수 있습니다.
  • 핵심 로직 부분은 그림을 그려 설명해보겠습니다.

모자 1,2는 동그라미, 안경은 세모라고 가정해 봅시다. 

화살표를 따라가며 경우의 수를 체크할 수 있는데요.

  • 안경을 쓰고 다른 조건을 선택할 경우 : 3 가지
  • 안경을 안 쓰고 다른 조건을 선택할 경우 : 3가지
  • 안경을 안쓰고 다른 조건도 선택하지 않을 경우 : 1가지
  • 3 + 3 - 1 = 5가 됩니다.

 

이해가 가시나요? 다른 예시를 들어보겠습니다.

똑같이 모자 1,2,3는 동그라미, 안경 1,2은 세모라고 가정해 봅시다. 

화살표를 따라가며 경우의 수를 체크할 수 있는데요.

  • 안경 1을 쓰고 다른 조건을 선택할 경우 : 4 가지
  • 안경 2를 쓰고 다른 조건을 선택할 경우 : 4가지
  • 안경을 안 쓰고 다른 조건도 선택할 경우 : 4가지
  • 안경을 쓰지 않고 다른 조건도 선택하지 않을 경우 : 1가지
  • 4+ 4 +4 - 1 = 11가 됩니다.

이해가 가시나요? 그렇 다면 하나 더 유추 할 수 있겠죠??

가능한 경우의 수는 : (타입의 개수 + 1) X (타입의 갯수 + 1) -1 = 전체 경우의 수라는 것입니다!


오늘도 화이팅입니다!

'Algorithm' 카테고리의 다른 글

[Algorithm] BOJ : 곱셈  (0) 2025.01.21
[Algorithm] BOJ : 1  (0) 2025.01.21
[Algorithm] BOJ : 한국이 그리울 땐 서버에 접속하지  (0) 2025.01.21
[Algorithm] BOJ : 알파벳 개수  (1) 2025.01.20
[Algorithm] BOJ : 일곱 난쟁이  (1) 2025.01.20
'Algorithm' 카테고리의 다른 글
  • [Algorithm] BOJ : 곱셈
  • [Algorithm] BOJ : 1
  • [Algorithm] BOJ : 한국이 그리울 땐 서버에 접속하지
  • [Algorithm] BOJ : 알파벳 개수
kimsangjunzzang
kimsangjunzzang
루피 님의 블로그 입니다.
  • kimsangjunzzang
    루피 님의 블로그
    kimsangjunzzang
  • 전체
    오늘
    어제
    • 분류 전체보기 (116) N
      • iOS (63)
        • Swift (34)
        • UIKit (9)
        • SwiftUI (8)
        • RxSwift (12)
      • FE (8)
        • 모던 자바스크립트 (3)
        • HTML (5)
      • CS (9)
      • Algorithm (20)
      • 트러블 슈팅 (5)
      • 그 외 정리 (1) N
      • 대외활동 & 회고록 (5)
      • 일간 회고록(TIL) (1)
      • 바로 안 나오면 모르는거다 (4)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    CS
    state
    ios
    rxswift
    uikit
    알고리즘
    SwiftUI
    프로그래머스
    Algorithm
    web
    AppleDeveloperAcademy
    회고
    백준
    HTML
    ViewController
    Concurrency
    swift
    boj
    디자인 패턴
    C++
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
kimsangjunzzang
[Algorithm] BOJ : 패션왕 신해빈
상단으로

티스토리툴바