알고리즘 문제/C++

[프로그래머스] Level2 : 위장 - C++

lingk 2021. 1. 23. 15:46

문제

programmers.co.kr/learn/courses/30/lessons/42578

 

코딩테스트 연습 - 위장

 

programmers.co.kr


코드

#include <string>
#include <vector>
#include <map>

using namespace std;

int solution(vector<vector<string>> clothes) {
    int answer = 1;
    map<string, int> m;
    for(int i = 0;i<clothes.size();++i)
        ++m[clothes[i][1]];
    for(auto it = m.begin(); it != m.end();++it){
        answer *= (it->second) + 1;
    }
    return answer - 1;
}

map컨테이너를 사용하여 같은 의상의 종류 수를 세주었다. 최소 한개의 옷은 입기 때문에, 마지막에 answer - 1을 해준다.

반응형