문자열 압축 자바스크립트
function solution(s) {
if(s.length == 1) return 1
let answer = [];
for(let i = 1; i<= s.length / 2; i++) {
let j = 0;
let str = '';
let cnt = 1;
while(j < s.length) {
if(s.slice(j,j+i) != s.slice(j + i,j + 2*i)) {
str += cnt > 1 ? cnt + s.slice(j,j+i) : s.slice(j,j+i);
cnt = 1;
j += i
continue
}
cnt++;
j += i
}
answer.push(str.length)
}
return Math.min(...answer)
}
가능한 압축 경우의 수를 모두 고려하여 압축된 길이를 계산한 뒤 가장 짧은 길이를 반환하여 푼다.
s길이의 절반이 최대 압축가능한 단위이므로 s.length / 2만큼 반복문을 돌린다.
while 반복문으로 압축된 문자열을 str에 담고.
str의 길이를 answer에 push한다.
모든 경우에 대한 str의 길이가 answer에 담겨있으므로 answer의 최소값을 반환한다.
Author And Source
이 문제에 관하여(문자열 압축 자바스크립트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gytlr01/문자열-압축-자바스크립트저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)