https://programmers.co.kr/learn/courses/30/lessons/60057
#include <string>
#include <vector>
using namespace std;
int digit(int n) {
int d = 0;
while (n) {
n /= 10;
d++;
}
return d;
}
int solution(string s) {
int answer = s.length();
for (int i = 1; i <= s.length() / 2; i++) {
vector<string> v;
int cnt = 1;
int min = 0;
for (int j = 0; j < s.length(); j += i) {
v.push_back(s.substr(j, i));
}
v.push_back("");
for (int j = 1; j < v.size(); j++) {
if (v[j] != v[j - 1]) {
if (cnt <= 1) {}
else min += digit(cnt);
min += v[j - 1].length();
cnt = 1;
}
else {
cnt++;
}
}
if (min < answer) answer = min;
}
return answer;
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[2020카카오공채] 가사 검색 (0) | 2020.03.30 |
---|---|
[2020카카오공채] 기둥과 보 설치 (0) | 2020.03.24 |
[2020카카오공채] 자물쇠와 열쇠 (0) | 2020.03.24 |
[2020카카오공채] 괄호 변환 (0) | 2020.03.23 |
[프로그래머스] 주식가격 (0) | 2020.03.19 |