// [Programmers] 3진법 뒤집기
function solution(n) {
// 1. n을 3진법으로 변환 (메소드 특성상 문자열로 반환됨)
// toString 메소드는 숫자열을 문자열로 바꿀 수도 있지만
// 인자로 radix(2~36)를 전달하면 진수를 변환하는 기능도 있습니다.
let one = n.toString(3)
console.log('1',one)
// 2. 변환한 문자열을 배열로 만들기
// reverse 메소드로 반전을 하기 위한 사전작업
let two = one.split('')
console.log('2',two)
// 3. 배열 순서 반전하기
let three = two.reverse()
console.log('3',three)
// 4. 다시 하나의 문자열로 붙이기
// join() 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.
// 인자로는 빈 문자열('')을 넣어야지 쉼표없이 요소들을 연결합니다.
let four = three.join('')
console.log('4', four)
// 5. 3진법 -> 10진법
// parseInt(string, n) -> string 을 n진법으로 읽고 10진법으로 해석해줍니다.
// n은 2부터 36까지 입력가능하고 입력하지 않으면 10으로 처리합니다.
return parseInt(four, 3)
}
자연수 n이 매개변수로 주어집니다.
n을 3진법 상에서 앞뒤로 뒤집은 후,
이를 다시 10진법으로 표현한 수를 return 하도록
solution 함수를 완성해주세요.
n은 1 이상 100,000,000 이하인 자연수입니다.
n result
45 7
125 229
입출력 예 설명
답을 도출하는 과정은 다음과 같습니다.
n (10진법) = 45
n (3진법) = 1200
앞뒤 반전(3진법) = 0021
10진법으로 표현 = 7
따라서 7을 return 해야 합니다.
답을 도출하는 과정은 다음과 같습니다.
n (10진법) = 125
n (3진법) = 11122
앞뒤 반전(3진법) = 22111
10진법으로 표현 = 229
따라서 229를 return 해야 합니다.