Lv.2 문자열 압축

ujinujin·2022년 1월 28일
0

코딩테스트 뿌시기

목록 보기
22/57

🤖문제

👍 2022년 1월 28일

<script>
  const cutStr = (str, len) => {
      return str.match(new RegExp('.{1,' + len + '}', 'g'));
  }

  function solution(s) {
      let answer = 2000;
      for (let unit=1; unit<=Math.ceil(s.length/2); unit++) {  
          let compressStr = "";
          let cutArr = cutStr(s, unit);
          let baseStr = cutArr[0];
          let cnt = 0;

          for (let i=0; i<cutArr.length; i++) {
              if (baseStr === cutArr[i]) cnt++;
              else {
                  cnt === 1 ? compressStr += baseStr : compressStr += (cnt + baseStr)
                  baseStr = cutArr[i]
                  cnt = 1;
              }
              if (i === cutArr.length - 1){
                  cnt === 1 ? compressStr += baseStr : compressStr += (cnt + baseStr)
              }
          }
          answer = Math.min(answer, compressStr.length)
      }
      return answer;
  }
</script>

레벨2 처음 풀어보는 거라서 많이 어려울까봐 좀 무서웠는데 다행히 금방 풀었다! 남은 3주동안 레벨2 뿌신다!

profile
백수와 취준생 그 사이 어디

0개의 댓글

관련 채용 정보