이진 변환 반복하기

정하윤·2022년 11월 13일
0
function solution(s) {
  let count = 1;
  let counts = 0;
  let anwer = [];
  while (true) {
    let ann = s.length; //제거 전의 길이
    let an = s.replaceAll("0", ""); //0을 모두 제거
    let ln = an.length; //0을 제거한 길이
    let lnn = ann - ln; //제거한 0의 개수
    let bi = ln.toString(2); //2진법으로하기
    if (bi.length === 1) {
      counts += lnn; //마지막에 제거한 0의 개수 더하기
      break;
    } else {
      count++;  // 제거한 횟수 더하기
      counts += lnn; //제거한 0의개수 계속 더하기
      s = bi;
    }
  }
  anwer.push(count, counts);
  return anwer;
}

0개의 댓글