s
길이부터 1까지 감소하면서 반복s
를 복사한 문자열이 빈 문자열이 될 때까지 반복i
만큼 자른 문자열이 나오는 인덱스를 반복시킨 값의 인덱스가 0인지 검사: repeat()
, indexOf()
function solution(s) {
const len = s.length;
let result = len;
for (let i = len; i > 0; --i) {
let copy = s;
let tmp = '';
while (copy) {
let cnt = 1;
const str = copy.slice(0, i);
while (copy.indexOf(str.repeat(++cnt)) === 0);
tmp += (--cnt === 1 ? '' : String(cnt)) + str;
copy = copy.slice(i * cnt);
}
result = Math.min(result, tmp.length);
}
return result;
}
오늘도 한번에 통과 😁
별다른 알고리즘이 없어서 그냥 생각나는대로 풀면 되는 문제였다.