컴공 일기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를 선물하세요.
-
5세트의 신드라 기대중 0 0
김허수 올때 신드라/카타리나/조이/이렐리아 이거 넷중에 하나는 꼭 들고와야해...
-
아 진짜 못한다 3 1
도란 기대한 내가 밉다 걍
-
오르비언들 수면패턴 개 웃기네 4 0
ㅋㅋ
-
수학 물리 싫어하는데 공대는 5 0
좀 오바겠지?
-
이거 진짠가요 1 1
ㄹㅇ 모름
-
글쓰기 귀찮다 1 0
뻥임
-
님들 맥주만 마셨는데도 0 0
술냄새남?진짜 어이없네
-
일반불닭이 없는데 10 1
까르보불닭에서 까르보가루만 빼고 개조가능한가요?
-
중앙대 기계 터졌네 2 0
69명뽑는데 1,2차 합쳐서 18명 중대 건환플 미컴은 1차 1명 ㄷㄷ
-
남르비 여르비 판별법 28 1
소변기 1 2 3 4 5 있을때 1번에 사람 있는데 다음에 4번 들어가면 때리고싶은지 물어보셈
-
8문제만 더 준비해야지 2 0
시간뜨는건안된다..
-
시대 신관 2 0
반 편성 어떻게 되는거냐 신관 배정 받으면 무슨 반임??
-
수2 자작문제 (2000덕) 25 1
첫 정답자 2000덕 드리겠습니다! (적분식 안에 x가 아니라 t입니다!)
-
설의 추합은 뭐임 대체 7 1
뭐하는사람이야
첫번째 댓글의 주인공이 되어보세요.