티스토리 뷰
문제 링크
풀이
bundle변수를 선언하여 1개씩 묶은 것부터 문자열의 length/2까지 묶은 것의 개수를 vector 컨테이너에 넣고 최소를 return 하였다.
더보기
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int solution(string s) {
int answer = s.length();
int bundle = 1;
int len = s.length();
vector<int> v;
// cout<< "s = "<< s<< endl;
while(bundle <= len/2)
{
string repeat = s.substr(0, bundle);
string total = "";
int count = 1;
int i;
for(i=bundle; i<len; i+=bundle)
{
string sub = s.substr(i, bundle);
if(repeat == sub)
{
count++;
}
else
{
if(count>1) total += to_string(count) + repeat;
else total += repeat;
count = 1;
repeat = sub;
}
}
// cout<<"count = "<< count << endl;
// 후처리
if(count>1) total += to_string(count) + repeat;
else
{
for(i-=bundle; i<len; i++)
total += s[i];
}
// cout<< "bundle = " <<bundle <<"-----";
// cout<< "total = " << total<< endl;
bundle++;
v.push_back(total.length());
}
for(int i=0; i<v.size(); i++)
{
if(answer > v[i]) answer = v[i];
}
return answer;
}
728x90
반응형
'Programmers Solutions > previous' 카테고리의 다른 글
단체사진 찍기(2017 카카오코드 본선) (0) | 2020.07.31 |
---|---|
괄호 변환(2020 카카오 블라인드 채용) (0) | 2020.07.31 |
카카오 프렌즈 컬러링북(2017 카카오코드 예선) (0) | 2020.07.31 |
멀쩡한 사각형(Summer/Winter Coding(2019)) (0) | 2020.07.31 |
스킬트리(Summer/Winter Coding(~2018)) (0) | 2020.07.31 |
댓글