3진법 뒤집기

y0ung·2020년 11월 13일
0

⛓ Algorithm

목록 보기
3/12
post-thumbnail

문제 설명

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

제한사항

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

입출력 예

nresult
457
125229

입출력 예 설명
입출력 예 #1

  • 답을 도출하는 과정은 다음과 같습니다.
n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현
45120000217
  • 따라서 7을 return 해야 합니다.

입출력 예 #2

  • 답을 도출하는 과정은 다음과 같습니다.
n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현
1251112222111229
  • 따라서 229를 return 해야 합니다.

👤 나의 풀이

 function solution(n) {
   let answer = 0;
   let ternaryS = n.toString(3).split('').reverse()
   let terLen = ternaryS.length;

   ternaryS.map((el, idx) => {
     el = Number(el) * Math.pow(3, terLen - 1 - idx);
     answer += el
   })

   return answer;
 }

console.log(solution(45)); // 7

풀이
parseInt()를 사용 하면 더 쉽게 사용 할수있었다.

참고
https://freezboi.tistory.com/31

profile
어제보다는 오늘 더 나은

0개의 댓글