19. 프로그래머스(1단계) - 3진법 뒤집기

성훈·2021년 8월 8일
0

Algorithm

목록 보기
19/61
post-thumbnail

📌 문제의 조건

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

제한사항 🤔

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

📌 풀이

첫 풀이 👨‍💻

function solution(n) {
    
  let ternary = n.toString(3).split('').reverse().map(e=>Number(e))
  
  for(let i = 0; i < ternary.length -1; i++){
    ternary[i+1] = ternary[i+1] + ternary[i]*3
  }
  return ternary[ternary.length-1]
}

더 생각한 후 풀이 👨‍💻

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

📌 리뷰

parseInt(number, radix) 메소드를 number를 radix 진법으로 변환하는 메소드로 잘못 알아서 안쓰다가 풀고나서 로그 찍어보니 parseInt는 number의 진법을 지정해주면 10진법으로 변환 해주는 메소드였다.

체이닝으로 한줄컷 가능한 문제였는데 🤦

📌 문제 출처

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges#

profile
어떻게 이걸 풀어낼 수 있을까

0개의 댓글