Post

[JS] 진수 변환

[JS] 진수 변환

진수 변환은 간단한 메서드지만 모르면 풀지 못해서 몇번 곤란했던 적이 있었습니다.
이러한 실수를 막기 위해 정리해보았습니다 :)


자바스크립트 진수 변환

🔹 10진수 ➜ 2진수 ( 3, 4, 5…N 진수)

💡 toString(base): 숫자를 다른 진수 문자열로 변환

1
2
3
4
5
6
7
8
9
var dec = 123;
var bin = dec.toString(2); // "1111011"

//10진수 -> 3진수
console.log(dec.toString(3));

//10진수 -> 16진수
var dec = 123; 
var hex = dec.toString(16); // "7b"

🔹 2진수( 3, 4, 5…N 진수) ➜ 10진수

💡 parseInt(string, base): 문자열을 지정한 진수로 변환

1
2
3
4
5
6
7
8
9
10
var bin = "1111011";
var dec = parseInt(bin, 2); // 123

//3진수 -> 10진수
let trinary = "2122"
console.log(parseInt(number, 3));

//16진수 -> 10진수
var hex = "7b";
var dec = parseInt(hex, 16); // 123

🔹 N진수 -> N진수

1
2
3
4
5
6
7
8
9
10
//3진수 -> 2진수
console.log(parseInt("21121",3).toString(2));

//16진수 ➜ 2진수 (16진수 → 10진수 → 2진수)
var hex = "7b";
var bin = parseInt(hex, 16).toString(2); // "1111011"

//2진수 ➜ 16진수 (2진수 → 10진수 → 16진수)
var bin = "1111011";
var hex = parseInt(bin, 2).toString(16); // "7b"

알고리즘 풀이 - 프로그래머스 Lv.2 - [3차] n진수 게임

프로그래머스 Lv.2 [3차]n진수 게임

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function solution(n, t, m, p) {
    var answer = '';
    let cnt = 0;
    let idx = p;
    let allStr = "";
    
    while (cnt <= m * t) {
        allStr += cnt.toString(n).toUpperCase();
        cnt++;    
        if(allStr.length > m * t) break;
    }

    for(let i = 0 ; i < t ; i++) {
        answer += allStr[idx-1];
        idx += m;
    }
    return answer;
}

END

This post is licensed under CC BY 4.0 by the author.