컴공 일기274
게시글 주소: https://orbi.kr/00071962271
https://school.programmers.co.kr/learn/courses/30/lessons/72411
카카오 코딩테스트 문제답습니다.
소위 코딩 근육을 묻는 문제같네요.
해시, 재귀, 조합, 문자열 파싱, 최대최소
각종 요소들이 복합적으로 어우러져 있습니다..
이런 문제는 구현하는데 시간 좀 잡아먹습니다.
많게는 2-3시간 걸릴 법한 문제죠.
#include <string>
#include <vector>
#include <unordered_map>
#include <algorithm>
using namespace std;
unordered_map<string, int> course_map;
void generateCombinations(const string& str, string current, int index, int k)
{
if(current.size() == k)
{
course_map[current]++;
return;
}
if(index == str.size()) return;
//include
generateCombinations(str, current+str[index], index+1, k);
//not include
generateCombinations(str, current, index+1, k);
}
vector<string> solution(vector<string> orders, vector<int> course) {
vector<string> answer;
unordered_map<int, string> menu_map;
for(auto& order : orders)
{
sort(order.begin(), order.end());
}
//initialization of menu_map
for(int i=0; i<orders.size(); i++)
{
menu_map[i] = orders[i];
}
//initialization of course_map
for(const auto& course_length : course)
{
course_map.clear();
for(const auto& order : orders)
{
if(order.size() >= course_length)
{
generateCombinations(order, "", 0, course_length);
}
}
int max_count = 0;
for(const auto& [key, value] : course_map)
{
if(value > max_count)
{
max_count = value;
}
}
if(max_count >= 2)
{
for(const auto& [key, value] : course_map)
{
if(value == max_count)
{
answer.push_back(key);
}
}
}
}
sort(answer.begin(), answer.end());
return answer;
}
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
수학 쌩노베 0 0
쌩노베인데 지금부터 하루에 약 3시간~5시간정도 꾸준히 투자해서 한다면 수능은...
-
ㅇㅈ하라해서 함 13 0
본거 또보고
-
인증 누구누구한거임뇨 8 0
나는 우리 빛밖에 기억이 안나는데
-
그럴만한 결격이 있다는 뜻임...매우 안좋은거임..저같은 경우에는 난치병이 있다던가..
-
80키로까지 빼고 싶다 6 0
키빼몸 106이면 ㅈㄴ 좋을 듯
-
다들 ㅇㅈ 어케하는거임? 7 0
5초도 쫄림
-
다군 제발 0 0
아 다군 제발 흐아 돌아라 제발 ㅠㅠㅠㅠ 왜이러는거냐ㅠㅠㅠ 2차까지 한바퀴도...
-
추합제발 0 0
제발제발 추합제발 돌게 해주세요 진짜 ㅠㅠㅠㅠ
-
맞현생이미지 예측 4 0
이것도 메타라면 메타인가..
-
여르비 레이더 좀 알려주세요 11 0
아…
-
보통 전화로 더 먾이 충원되나? 대형과 기준?
-
응애 4 0
난 아무것도 몰라요
-
중앙대 합격 8 8
너무 오랫동안 꿈꿔왔던 학교 드디어 가는구나 합격증 올려보는게 소원이엇어요...










첫번째 댓글의 주인공이 되어보세요.