replaceAll 메소드를 이용하여 문자열 내에 0을 삭제하려 했는데
프로그래머스에서 해당 메소드를 인식하지 못했다. (크롬 브라우저에서는 인식이 되는 것을 확인했다.) replace에 전역으로 적용되는 정규표현식을 이용하여 0을 제거하는 방식으로 풀었다.
//https://programmers.co.kr/learn/courses/30/lessons/70129
function solution(s) {
let repeatCnt = 0;
let removeZeroCnt = 0;
let binaryNum = s;
function removeZero(n) {
removeZeroCnt += n.length - n.replace(/0/gi,"").length;
console.log(n.replace(/0/gi,"").length);
return n.replace(/0/gi,"").length;
}
function transformBinary(n) {
binaryNum = n.toString(2);
return binaryNum;
}
while (binaryNum !== "1") {
transformBinary(removeZero(binaryNum));
repeatCnt++;
};
const answer = [repeatCnt, removeZeroCnt];
return answer;
}