[JavaScript] [Programmers] 문자열 압축(60057)

긍정왕·2021년 8월 15일
1

Algorithm

목록 보기
68/69

💡 문제 해결



🧾 문제 설명

문제보기



🖨 입출력



📝 풀이

function solution(s) {
    var answer = 1001;

    for (let num = 1; num < parseInt(s.length / 2) + 1; num++) {
        let tmp = '';
        for (let i = 0; i < s.length; i += num) {
            if (i === 0) {
                var unit = s.slice(0, i + num);
                var cnt = 1;
            } else {
                if (unit === s.slice(i, i + num)) {
                    cnt += 1;
                } else {
                    if (cnt > 1) {
                        tmp += String(cnt) + unit;
                    } else {
                        tmp += unit;
                    }
                    unit = s.slice(i, i + num);
                    cnt = 1;
                }
                if (i + num >= s.length) {
                    if (cnt > 1) {
                        tmp += String(cnt);
                    }
                    tmp += unit;
                }
            }
        }
        if (tmp.length < answer) {
            answer = tmp.length;
        }
    }

    if (answer === 1001) {
        answer = s.length;
    }

    return answer;
}

profile
Impossible + 땀 한방울 == I'm possible

0개의 댓글