🧬알고리즘/Programmers

[JavaScript] 3진법 뒤집기

뉴발자 2024. 8. 29.
728x90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제

자연수 n이 매개변수로 주어진다.

 

n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 반환하는 함수를 작성하라.

 

 

예시

n (10진법) n (3진법) 앞뒤 반전 (3진법) 10진법으로 표현
45 1200 0021 7

 

 

나의 풀이

const solution = n => parseInt(n.toString(3).split("").reverse().join(""), 3);

 

 

풀이 방법

1. toString(3)을 사용해서 숫자 n을 3진법으로 변환한다.

n.toString(3)

// n = 1200

 

2. split() 함수를 사용해서 배열로 변환한 후 reserver() 함수를 사용해서 역정렬해준다.

n.toString(3).split("").reverse()

 

3. join() 함수를 사용해서 문자열로 변환한 후 parseInt() 함수로 10진수로 변환한다.

parseInt(n.toString(3).split("").reverse().join(""), 3);

// parserInt의 2번째 요소로 해당 숫자의 진법을 넣을 수 있다.
// ex) parseInt(number, 3) -> 3진법 -> 10진법

 

 

 

 

 

 

 

 

 

 

728x90

댓글