몸과 마음이 건전한 SW 개발자

이진수 변환 구현하기 {언어: 자바스크립트} 본문

알고리즘/알고리즘 이론

이진수 변환 구현하기 {언어: 자바스크립트}

스위태니 2024. 5. 4. 02:02

구현 1 : 쉬프트 연산자(>>) 사용하기

function toBinaryUsingShift(num) {
    let binary = "";
    while (num > 0) {
        let lastBit = num & 1;  // num의 마지막 비트를 가져옵니다.
        binary = lastBit + binary;  // 결과 문자열에 비트를 추가합니다.
        num = num >> 1;  // 오른쪽으로 한 비트 쉬프트합니다.
    }
    return binary || "0";
}

구현 2 : 숫자를 2로 나누기

function toBinaryUsingDivision(num) {
    let binary = "";
    while (num > 0) {
        let remainder = num % 2;  // 2로 나눈 나머지를 구합니다.
        binary = remainder + binary;  // 결과 문자열에 나머지를 추가합니다.
        num = Math.floor(num / 2);  // num을 2로 나눕니다.
    }
    return binary || "0";
}

시간복잡도

  • 둘 다 O(logN)

느낀점

  • 이진수 변환을 내장 함수를 사용하지 않고 하는 것도 알고 있어야 한다.