본문 바로가기
코딩테스트/LV. 2

LV.2 :: 이진 변환 반복하기

by KUROMI98 2024. 10. 20.

https://school.programmers.co.kr/learn/courses/30/lessons/70129

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(s) {  
    
    let deletedzero = 0; 
    let count = 0; 
    
    while (s != '1'){
        let arr = s.split('');
        for (i=arr.length-1; i>=0; i--){
            if (arr[i]=='0'){
                arr.splice(i,1);
                deletedzero++;
            }
        } 
        // arr에서 0을 제거해준다.
        
        s = arr.length.toString(2) + '';
        // 0 제거 후 자리의 개수를 이진수로 바꿔준다. 
        
        count ++;
    } 
    
    return [count, deletedzero];
}

function solution(s) {
    let eliminatedZeroCount = 0;
    let binaryCalculateCount = 0;
    while (s.length !== 1){
        for(i=0; i<s.length; i++){
            if (s.charAt(i) == '0'){
                eliminatedZeroCount ++
            }
        }
        s = s.replace(/['0']/g, '');
        s = s.length.toString(2)
        binaryCalculateCount ++
    }
    return [binaryCalculateCount, eliminatedZeroCount];
}

'코딩테스트 > LV. 2' 카테고리의 다른 글

LV.2 :: 피보나치 수  (0) 2024.10.21
LV.2 :: 다음 큰 숫자  (0) 2024.10.20
LV.2 :: JadenCase 문자열 만들기  (1) 2024.10.20
LV.2 :: 최솟값 만들기  (0) 2024.10.20
LV.2 :: 올바른 괄호  (0) 2024.10.20

댓글