728x90
JS
function solution(n) {
let answer = n.toString(3).split("").reverse().join("");;
return parseInt(answer, 3);
}
toString 메서드로 3진법표현으로 만들고 split으로 쪼갠후, reverse, 다시 join으로 합치고,
parseInt 함수로 3진법 표현을 다시 10진법 값인 정수로.
Python
구글링해보니 파이썬에는 2,8,10,16 진수 외에 다른 n 진수는 내장함수가 없다고 한다.
notation = '0123456789ABCDEF' # 16진수
def numeral_system(number, base):
q, r = divmod(number, base)
n = notation[r]
return numeral_system(q, base) + n if q else n
print(numeral_system(10,2))
# output
# 1010
notation = '0123456789ABCDEF' # 16진수
def numeral_system(number, base):
q, r = divmod(number, base)
n = notation[r]
return numeral_system(q, base) + n if q else n
def solution(n):
answer = list(numeral_system(n, 3))
answer.reverse()
answer = ''.join(answer)
return int(answer,3)
numeral_system 함수로 받은 결과물(str)을 list로 받아서 character별로 각각의 element로 나눠준다음 reverse메서드로 뒤집어준다음 join함수로 다시 합치고 int함수로 다시 10진법으로 표현
ref
728x90
'Algorithm' 카테고리의 다른 글
[프로그래머스] 나누어 떨어지는 숫자 배열 (JS, Python) (0) | 2021.01.26 |
---|---|
[프로그래머스] 같은 숫자는 싫어 (python, js) (0) | 2021.01.26 |
[프로그래머스] 가운데 글자 가져오기 (JS, Python) (0) | 2021.01.25 |
[프로그래머스] 2016년 (Python, JS) (0) | 2021.01.25 |
[프로그래머스] 두 개 뽑아서 더하기 (JS, Python) (0) | 2021.01.25 |
댓글