출처 : https://programmers.co.kr/learn/courses/30/lessons/42578
순열로 모든 부분을 다 탐색하고 조합의 개수를 세어보면 된다고 생각하였지만 , 답은 계속 맞지 않았습니다.. ㅠㅠ..
검색으로 힌트를 찾다가 풀이 공식을 보고 작성하였습니다............... 결론은 이해를 못한 상태입니다.ㅠㅠ
#include <iostream>
#include <vector>
#include <string>
#include <map>
using namespace std;
//void dfs(int start, int* visit, map<string, string> d, map<string, string>& e);
int solution(vector<vector<string>> clothes) {
int answer = 1;
map<string,int> d;
for(auto& i : clothes) d[i.at(1)]++;
int temp = 0;
for(auto& i : d) {
temp = i.second + 1;
answer *= temp;
}
return answer -1;
}
/*
void dfs(int start, int* visit, map<string, string> d, map<string, string>& e) {
if (visit[start] == 1) return;
if (start >= d.size()) return;
auto it = d.begin();
::advance(it, start);
//cout << it->first << endl;
for (auto& i : d) {
if (it->second != i.second) {
if (e.find(it->first + "+" + i.first) == e.end() ) { //&& e.find(i.first + "+" + it->first) == e.end()) {
e[it->first + "+" + i.first] = "";
}
}
}
dfs(start + 1, visit, d, e);
}
*/
'C++' 카테고리의 다른 글
[C++/WinRt] Windows Toolkit - Windows.Data.Pdf 를 이용한 PDF To Bitmap 변환 예제 (0) | 2024.07.29 |
---|---|
코딩테스트 연습->탐욕법(Greedy)->체육복 (0) | 2021.09.01 |
코딩테스트연습->정렬->K번째수 (0) | 2021.07.22 |
코딩테스트연습->전화번호 목록 (0) | 2021.07.20 |
코딩테스트 연습 -> 중복된 이름 제거 (0) | 2021.07.08 |