코딩테스트

[프로그래머스 42578] 위장 / C++

bemaru 2021. 4. 29. 00:04
반응형

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

 

코딩테스트 연습 - 위장

 

programmers.co.kr

#include <string>
#include <vector>
#include <iostream>
#include <unordered_map>

using namespace std;

int solution(vector<vector<string>> clothes) {
	int answer = 0;

	std::unordered_map<string, int> map;
	for (const auto& cloth : clothes) 
	{
		map[cloth[1]]++;
	}

	answer = 1; // 곱누적을 위해 1로 초기화

	for (const auto& item : map) 
	{
		answer *= (item.second + 1);
	}

	return answer-1;
}

미착용까지 포함하여 각 의상종류별 의상구성 개수에 +1을 하고 모두 곱한다.

1을 빼는 이유는 모두 미착용인 경우는 제외한다 ( 의상을 반드시 1개는 착용한다는 제약조건이 있기 때문에 )

 

 

 

 

 

반응형