function solution(n) {
const returnThr = (n) => {
let ans = [];
while(n>2){
ans.push(n%3);
n = Math.floor(n/3);
}
ans.push(n);
return ans;
}
const returnTen = (Arr) => {
let arr = Arr.reverse();
let sum=0;
for(let i=0; i<arr.length; i++){
sum = sum + (Math.pow(3, i))*arr[i];
}
return sum;
}
return returnTen(returnThr(n))
}
def solution(n):
def return_thr(n) :
ans = []
while(n>2) :
ans.append(n%3)
n = n//3
ans.append(n)
return ans #[0,0,2,1]
def return_ten(arr) :
arr = list(reversed(arr))
sum = 0
for i in range(0, len(arr)) :
sum = sum + (3**i)*arr[i]
return sum
return return_ten(return_thr(n))
로...풀었지만 고수들의 풀이를 참고하니 몇 가지 새로 배웠다.
toString, parseInt로 진법변환이 가능한걸 이제 알았다..
toString
(45).toString(2)
// "101101"
(45).toString(3)
// "1200"
(45).toString(4)
// "231"
(45).toString(1)
(45).toString(37)
// Uncaught RangeError: toString() radix argument must be between 2 and 36
parseInt
parseInt(1200, 3)
// 45
parseInt(1200, 4)
// 96
js에서의 parseInt(1200, 3)
형태를 python에서는
int("1200", 3)
# 45
로 표현이 가능하다.