Deff_Dev
[프로그래머스] 의상 (C++) 본문
문제
풀이
map을 이용하여 신체 부위 별 의상 갯수를 리스트업 한 다음, 모든 경우의 수를 구한다.
이때, 옷은 입지 않는 경우의 수도 있기 때문에 + 1을 하고 return할 때, 아무것도 안 입는 경우를 빼준다.
#include <string>
#include <vector>
#include <map>
// https://school.programmers.co.kr/learn/courses/30/lessons/42578#
using namespace std;
map <string, int> maps;
int solution(vector<vector<string>> clothes) {
int answer = 1;
for(int i = 0; i< clothes.size(); i++){
maps[clothes[i][1]]++;
}
for(auto it = maps.begin(); it != maps.end(); it++){
answer *= it -> second + 1; // 입지 않는 경우 + 1
}
return answer - 1; // 아무것도 입지 않은 경우는 존재하지 않으니 -1
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 키패드 누르기 (C++) (1) | 2024.09.05 |
---|---|
[프로그래머스] 바탕화면 정리 (C++) (0) | 2024.09.05 |
[프로그래머스] 폰켓몬 (C++) (0) | 2024.08.18 |
[프로그래머스] 단어 변환 (C++) (0) | 2024.08.16 |
[프로그래머스] 게임 맵 최단거리 (C++) (0) | 2024.08.16 |