[プログラマ]文字列の圧縮-JavaScript


📌 質問する
https://programmers.co.kr/learn/courses/30/lessons/60057
📌 に答える
function solution(s) {
    let answer = 0;
    let arrForZippedStr = [];
    
    for(let i = 0; i < s.length; i++) {
        let unit = i + 1; // 문자열을 자를 단위
        let count = 1; // 동일 글자가 몇 번 반복되는지
        let zippedStr = "";
        
      	// 하나의 단위에 대한 for문
        for(let j = 0; j < s.length; j=j+unit) {
            let curSub = s.substring(j, j+unit);
            let nextSub = s.substring(j+unit, j+unit+unit);
            
            if(curSub === nextSub) {
                count += 1;
            } else {
     		// curSub와 nextSub를 비교했던 것 중 반복되는 글자가 있는 경우
                if(count !== 1) {
                    zippedStr = zippedStr + count + curSub;
                } else { // 반복되는 글자가 없는 경우
                    zippedStr = zippedStr + curSub;
                }
                count = 1; // 비교 대상이 없는 경우
            }
        }
        arrForZippedStr.push(zippedStr.length);
    }
    answer = Math.min(...arrForZippedStr);
    return answer;
}
プールソース:https://velog.io/@sso/プログラマ-Javascript-文字列圧縮
📌 ポスト
問題を解くときにブロックされ、グーグルはその後、多くの答えの中で最も理解しやすいコードを持ってきた.
Math.床(s.length/2)でドアを回す
サブストリングでコードを同じセルに分けて比較する.........................🤔
他の人の解答を見ると,まず変数の設定や解決手順の策定に不足がある.
一つの単位のfor文を別々にチェックすることに気づく
久しぶりにコードテストの練習問題をして、感覚を失った.😭
もう少し注意すれば良くなるのかな…?
以前、ノートに手で練習問題を整理していました.
今、あなたと一緒にノート+velogを整理したいです.😊