문자열 압축
function solution(word) {
const answer = [];
const limitCount = Math.ceil(word.length / 2);
for (let i = 1; i <= limitCount; i++) {
let compressWord = "";
let preText = "";
let loopCount = 1;
for (let l = 0; l < word.length; l += i) {
const curText = word.substr(l, i);
if (preText === curText) {
loopCount += 1;
} else {
compressWord += `${loopCount > 1 ? loopCount : ""}${preText}`;
preText = curText;
loopCount = 1;
}
}
compressWord += `${1 < loopCount ? loopCount : ""}${preText}`;
preText = "";
loopCount = 1;
answer.push(compressWord.length);
}
return Math.min(...answer);
}
이 문제 푸 는데 1시간이나 걸렸다.. 알고리즘 공부 열심히 해야겠다...