3진법 뒤집기(진수 변환)

yejichoi·2023년 3월 8일
0

알고리즘 스터디

목록 보기
20/153
post-thumbnail

3진법 뒤집기

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

입출력 예

nresult
457
125229

입출력 예 설명

입출력 예 #1

답을 도출하는 과정은 다음과 같습니다.

n(10진법)n(3진법)앞뒤 반전(3진법)10진법으로 표현
45120000217

입출력 예 #2

답을 도출하는 과정은 다음과 같습니다.

n(10진법)n(3진법)앞뒤 반전(3진법)10진법으로 표현
1251112222111229

풀이

function solution(n) {
    var answer = [];
  let str2 = n.toString(3) // 3진법으로 변경
  
  for(let i = 0; i < str2.length; i++){
    answer.push(str2[i])
  }
 let aaa = answer.reverse().join('')
  let bbb = parseInt(aaa,3) // 10진법으로 변경
    return bbb;
}

10진법 → 2진법(3,4,5...)

let decimal = 2022;
//10진수 -> 2진수
console.log(decimal.toString(2));
//10진수 -> 3진수
console.log(decimal.toString(3));
//10진수 -> N진수
console.log(decimal.toString(N));

2진법(3,4,5...) → 10진법

//2진수 -> 10진수
let binary = "1011"
console.log(parseInt(number,2));
//3진수 -> 10진수
let trinary = "2122"
console.log(parseInt(number,3));
//N진수 -> 10진수
let parameter = "~"
parseInt(parameter,N);

N진법 → N진법

//3진수 -> 2진수
console.log(parseInt("21121",3).toString(2));

N진법으로 바꾸고 싶으면 number.toString(N)

10진법으로 바꾸고 싶으면 parseInt(number, N)

0개의 댓글