Notice
Recent Posts
Recent Comments
Link
관리 메뉴

윤일무이

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 3진법 뒤집기 본문

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 3진법 뒤집기

썸머몽 2023. 4. 10. 20:04
728x90

문제 및 제한사항

 

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

 

**제한사항**

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

 

풀이 방법

 

예를 들어 n = 45일 때, 3진법으로 바꾸면 1200이 된다. 여기서 앞뒤 반전을 해 0021을 만든 다음 다시 10진법으로 표현한다.

먼저 3진법으로 바꾸는 것은 toString()을 사용하면 할 수 있다. 

3진법으로 바꾸고 나면 문자열이기 때문에 split으로 나눠 배열화 한 후 reverse로 앞뒤를 반전한다.

다음 다시 문자열로 만들고, 10진법으로 표현하기 위해 parseInt로 현재 숫자와 해당 수의 진수인 3을 인수로 적어준다.

 

toString으로 바꾼 게 문자열인 것과 달리 parseInt로 바꾼 수는 Number가 된다.

 

코드

function solution(n) {
  let nThree = n.toString(3).split("").reverse().join("");
  return parseInt(nThree, 3);
}
728x90