https://programmers.co.kr/learn/courses/30/lessons/60057
function solution(s) {
if(s.length===1) return 1;
const arr=[];
for(let i=1; i<=parseInt(s.length/2); i++){
let cnt=1;
let string='';
for(let j=0; j<s.length; j+=i){
const current=s.substr(j, i);
const next=s.substr(j+i, i);
if(current===next) cnt++;
else{
string=cnt>1? string+cnt+current : string+current;
cnt=1;
}
}
arr.push(string.length);
}
return Math.min(...arr);
}
예전에 풀었던 문자열압축 문제와 비슷한 원리이지만, 조금 응용된 형태라고 어렵다. 정답률 23.1%...! 꼼꼼하게 풀면 풀 수 있는 문제인데 너무 어렵게 생각한 것 같다.
문제풀이는 이분의 코드를 보고 참고했다.