본문 바로가기
코딩테스트(알고리즘)/프로그래머스

[프로그래머스] 문자열 압축 (Javascript)

by Cafe Mocha 2022. 6. 30.

코딩테스트 연습 - 문자열 압축 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 문자열 압축

데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문

programmers.co.kr


접근 : 문자열, 구현

 

문자열 파싱, 분할이 포인트인 문제.

 

Javascript

function solution(s) {
    let min = +9999;
    
    if(s.length===1) min = 1;
    
    for(let i=1;i<=Math.floor(s.length/2);i++){
        let str = [];
        for(let j=0;j<s.length;j+=i){
            let temp = s.substr(j,i);
            str.push(temp);   
        }
        
        let cnt = 1;
        for(let a=0;a<str.length;a++){
            if(str[a]===str[a+1]){
                cnt++;
                str.splice(a,1);
                a--;
            } else {
                if(cnt>1) {
                    str[a]=cnt+str[a];
                    cnt=1;
                }
            }
        }
        str=str.join("");
        min = Math.min(min,str.length);
    }
    
    
    return min;
}