https://programmers.co.kr/learn/courses/30/lessons/17684
#include <string>
#include <vector>
#include <map>
using namespace std;
vector<int> solution(string msg) {
vector<int> answer;
map<string, int> m;
int index = 1;
for (char c = 'A'; c <= 'Z'; c++) {
string tmp; tmp += c;
m.insert({ tmp,index++ });
}
for (int i = 0; i < msg.size(); i++) {
string search; search += msg[i];
while (i < (msg.size() - 1) && m.find(search + msg[i + 1]) != m.end()) {
search += msg[++i];
}
answer.push_back(m.find(search)->second);
if (i < (msg.size() - 1)) {
m.insert({ search + msg[i + 1],index++ });
}
}
return answer;
}
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 백준 "2304. 창고 다각형" (0) | 2022.04.29 |
---|---|
(c++) 프로그래머스 "[1차] 프렌즈4블록" (0) | 2022.04.29 |
(c++) 백준 "2559. 수열" (0) | 2022.04.27 |
(c++) 프로그래머스 "숫자의 표현" (0) | 2022.04.27 |
(c++) 백준 "2605) 줄세우기" (0) | 2022.04.26 |