본문 바로가기
Programming Solve/BOJ

BOJ 9375 - 패션왕 신해빈 / C++

by msm1029 2022. 5. 1.
반응형

문제 링크 : https://www.acmicpc.net/problem/9375

 

9375번: 패션왕 신해빈

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

www.acmicpc.net

 

 

풀이

map 자료구조를 이용하여 의상을 종류별로 구분하고 개수를 카운트한다.

의상의 이름은 중복이 없으므로 사실은 필요없다. 따라서, 입력만 받고 사용하지 않는다.

 

총 가지 수는 의상의 종류를 모두 곱하면 되는데

의상의 개수에 입지 않는 경우도 있으므로 곱할 때 +1을 해줘야하며

마지막에 모두 벗고 있는 경우는 빼줘야하므로 -1을 해줘야한다.

 

 

코드

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

int main() {
    int T;
    cin >> T;

    for(int t=0; t<T; t++){
        int n;
        cin >> n;

        unordered_map<string, int> m;

        for(int i=0; i<n; i++){
            string trash, str;
            cin >> trash >> str;

            m[str] += 1;
        }

        int ans = 1;
        for(auto i : m){
            ans *= (i.second + 1);
        }
        cout << ans - 1 << '\n';
    }
}

 

반응형

'Programming Solve > BOJ' 카테고리의 다른 글

BOJ 14500 - 테트로미노 / C++  (0) 2022.05.02
BOJ 5430 - AC / C++  (0) 2022.05.01
BOJ 10464 - XOR / C++  (0) 2022.04.21
BOJ 1107 - 리모컨 / C++  (0) 2022.04.21
BOJ 1074 - Z / C++  (0) 2022.04.21