[프로그래머스/JS] 이진 변환 반복하기

Yumin Jung·2023년 1월 21일
0

Problem Solving

목록 보기
1/5
post-thumbnail

문제 링크

해결 방법

function solution(s) {
    let answer = [0, 0];
  	// 5
    while (s !== "1") {
      	// 1
        const prevLen = s.length;
      	// 2
        s = s.replace(/0/g, "");
      	// 3
        const curLen = s.length;
      	// 4
        s = curLen.toString(2);
        answer[1] += prevLen - curLen;
        answer[0] += 1;
    }
    return answer;
}
  1. prevLen에 s의 길이를 저장합니다.
  2. 정규 표현식을 이용해 s의 모든 0을 제거합니다.
  3. curLen에 0을 제거한 s의 길이를 저장합니다.
  4. s에 curLen을 2진수 문자열로 변환한 값을 저장합니다.
  5. s가 "1"이 될 때까지 1-4를 반복합니다.

0개의 댓글