이진 변환 반복하기

Happhee·2022년 2월 11일
0

[ Lv2 ] programmers

목록 보기
19/32
post-thumbnail

📝이진 변환 반복하기

🖥 나의 JS 코드

먼저, 최종답안 배열을 크기 2로 지정하여 0으로 초기화를 시켰다.

0의 개수를 파악하는 함수를 따로 작성하여 최종답안 배열의 두번째 인자로 더해주었다.

이후 s가 "1"이 아니면 while문을 계속해서 실행하도록 구현하고,

0을 모두 제거하기 위해 String.prototype.replace( )를 사용하였다.
이때, 정규식첫번째 인자로 전달하고, 대체할 문자열두번째 인자로 전달하였다

제거된 문자열 s의 길이에 대한 이진수를 가져오기 위해 Object.prototype.toString( ) 을 사용하였다.

최종적인 코드는 다음과 같다👇

function getZeroCount (x){
    let count = 0;
    for(let i = 0 ; i< x.length ; i++){
        if(x[i] === '0')
            count++;
    }
    return count;
}
function solution(s) {
    var answer = new Array(2).fill(0);
    while(s != "1"){
        answer[1] += getZeroCount(s);
        s = s.replace(/0/g, '');
        answer[0] ++;
        s = (s.length).toString(2);
    }
    return answer;
}
profile
즐기면서 정확하게 나아가는 웹프론트엔드 개발자 https://happhee-dev.tistory.com/ 로 이전하였습니다

0개의 댓글