[프로그래머스] "3진법 뒤집기": JS - toString(), parseInt()를 이용해 진수 변환하기

신혜린·2023년 4월 26일
0

알고리즘(javascript)

목록 보기
10/21
post-thumbnail

10진법을 3진법으로 변환했다가 다시 10진법으로 변환하는 그런 알고리즘 문제를 풀다가 다른 사람들의 풀이 중 눈에 띄는 게 있어서 뜯어보았다.

const solution = (n) => {
    return parseInt([...n.toString(3)].reverse().join(""), 3);
}

진수를 바꾸는데 parseInt함수를 사용한 것...! 이게 뭐지???


10진수를 n진수로 - toString()

원래 내가 알고 있던 toString()함수의 기능은 특정 객체를 문자열로 변환해주는 역할을 한다는 것인데,
10진수를 원하는 n진수로 변환할 때도 사용한다고 한다.

예시

let num = 3;
console.log(num.toString(2)); // 11 (00011)
let num = 32;
console.log(num.toString(16)); //20 (00020)

참고: 반환된 값의 타입은 toString()을 사용했기 때문에 string으로 나온다

n진수를 10진수로 - parseInt()

parseInt() 함수 역시 기존에 나는 그저 단순히 정수값을 반환해주는 것으로만 알고 있어서 종종 Math.floor() 대신 사용하기도 했었는데 정확한 개념으로는 문자열 인자를 파싱하여 특정 진수의 정수를 반환한다라고 함!!!

예시

let num = "11";
console.log(parseInt(num, 2); //3

**참고: 반환된 값은 parseInt()의 정수 반환 기능 속성 때문에 반환된 값은 타입은 number가 된다.

profile
개 발자국 🐾

0개의 댓글