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

hhkim·2023년 7월 29일
0

Algorithm - JavaScript

목록 보기
82/188
post-thumbnail

풀이 과정

  1. 0 제거하기: replaceAll()
  2. 길이를 2진수 문자열로 변환: toString()
  3. 1, 2 과정을 문자열이 '1'이 될 때까지 반복하면서 횟수와 제거된 0 개수 저장

코드

function solution(s) {
  const result = [0, 0];
  while (s !== '1') {
    const prev = s.length;
    s = s.replaceAll('0', '');
    const curr = s.length;
    result[0] += 1;
    result[1] += prev - curr;
    s = curr.toString(2);
  }
  return result;
}

0개의 댓글