코딩테스트/Programmers (프로그래머스)

[프로그래머스] 3진법 뒤집기 - Javascript (Lv.1)

지윤공원🌳 2021. 4. 20. 11:01
728x90

📖 문제 설명

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

 

✔️ 제한조건

  • n은 1 이상 100,000,000 이하인 자연수입니다.
n result
45 7
125 229

 

💻 나의 코드

function solution(n) {
    let answer = 0;
    let str = [...n.toString(3)].reverse().join('');
    answer += parseInt(str, 3);
    return answer;
}

 

🎤 코드 설명

  • toString(radix)함수를 사용해서 n을 3진법을 사용해서 문자열로 변환합니다.
  • 변환된 문자열을 반대로 뒤집는다. 이때 문자열은 배열이 됩니다.
  • join('')을 통해 배열을 다시 문자열로 만듭니다.
  • parseInt(string, radix)를 통해 str을 10진법으로 바꾸고  answer에 누적해줍니다.
  • answer를 return해줍니다.

 

📜 채점 결과

정확성: 100.0

합계: 100.0 / 100.0

 

💬 배운 것

  • toString함수에 매개변수를 사용할 수 있다는 것을 알게 되었습니다.
  • Number.prototype.toString함수는 특정한 Number객체를 나타내는 문자열을 반환합니다.
  • toString(radix) radix라는 매개변수를 넣을 수 있는데 이는 숫자로 몇 진법으로 변환할 것인지 결정하는 것입니다.

 

 

 

코딩테스트 연습 - 3진법 뒤집기

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

programmers.co.kr

 

728x90