0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다.
0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요.
function solution(s) {
var answer = [0,0];
while(s!='1'){
answer[0]++;
let cnt = 0;
for(let i of s){
if(i === '1' ) cnt++
}
answer[1] += s.length - cnt;
s = cnt.toString(2)
}
return answer;
}
- s가 1이 아닐 때까지 반복 while
- 1의 개수 구하기 cnt++
- 문자열 길이에서 1의 개수 만큼 빼기 s.length - cnt;
- 1의 개수 2진 변환하기 cnt.toString(2)
❖ toString(MDN링크) - 2진법 변환