안녕하십니까. Eun🦆입니다.
풀이법 입니다.
#include <string>
#include <vector>
#include <map>
using namespace std;
vector<int> solution(string msg) {
vector<int> answer;
int cnt = 0;
map<string,int> dic; // key 단어, value 출력
for(;cnt<=26;cnt++)
{
string v = to_string('A'+cnt);
dic[v]=cnt+1;
}
/*for(int i=0;i<26;i++)
{
printf("dic['A'+%d]=%d\n",i,dic['A'+i]);
}*/
string sav_msg = "";
int tring = 0;
for(int i=0;i<=msg.size();i++)
{
tring++;
//printf("#try:%d! msg[%d]=%c\n",tring,i,msg[i]);
string tmp_msg = "";
tmp_msg += sav_msg;
tmp_msg += to_string(msg[i]);
if(dic[tmp_msg]==0) // 사전에 정의되어 있지 않다면
{
//printf("no jutify! new justify!\n");
answer.push_back(dic[sav_msg]);
//printf("answer insert! %d\n",dic[sav_msg]);
dic[tmp_msg] = cnt++; // 새로 정의
sav_msg = to_string(msg[i]);
}
else
{
//printf("jutify! sav +msg[%d]\n",i);
sav_msg += to_string(msg[i]);
}
}
return answer;
}
'개발 > Coding Test' 카테고리의 다른 글
[프로그래머스 C++] 더 맵게 (0) | 2022.06.07 |
---|---|
[프로그래머스 C++] 가장 큰 수 (0) | 2022.06.07 |
[프로그래머스 C++ Lv2] 프렌즈4블록 (0) | 2022.06.07 |
[프로그래머스 C++ Lv2] 뉴스 클러스터링 (0) | 2022.06.07 |
[프로그래머스 C++ Lv2] 예상 대진표 (0) | 2022.06.07 |
댓글