[프로그래머스] 코딩테스트 연습 - 3진법 뒤집기 (javascript)

지미노·2022년 9월 11일
0

코딩테스트

목록 보기
35/40
post-custom-banner

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

제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.

음.... 일단 3진법으로 어떻게 바꿀지 생각해보아야 한다.
3진법이면 0, 1, 2 로만 숫자를 표현해야 한다.

찾아보니 아주 좋은게 있었다..!
value.toString()
진법으로 변환해주는 함수.
3진법으로 변환하고 싶으면
value.toString(3)을 해주면 된다고 한다. 일단 콘솔 찍어서 시험해보기


잘 된다! 이제 이 수를 거꾸로 뒤집는 방법은 .reverse()
근데 이건 배열에 있는 요소니까 먼저 split("")부터 해주고 써주어야 한다.

reverse 후에는 다시 join("")

그리고 다시 10진법으로 바꿔주는것

Number.parseInt(a, b)
a에는 바꾸고 싶은 수
b에는 몇진법인지 작성하면 된다.

function solution(n) {
    return Number.parseInt(n.toString(3).split("").reverse().join(""),3)
}

좀 가독성은 떨어지지만 ㅎㅎㅎㅎ

4점 냠냠

post-custom-banner

0개의 댓글