React 부트캠프 TIL 16

정다롱·2024년 8월 22일

내일배움캠프 TIL

목록 보기
15/39

🖥️ 프로그래머스 - 3진법 뒤집기

  • 문제

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

  • 제한 사항

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


문제 접근 방식

3진법...? 자바스크립트에서 그런게 가능하던가? 싶다가도 가능하니까 문제로 나왔겠지.. 하는 마음에 이건 검색을 좀 해봤다.

  • toString() 메소드는 일반적으로 특정 객체를 문자열로 변환하는 기능을 담당하지만, 원하는 10진수를 특정 진수로 변경하고 싶을 때도 사용할 수 있다.
  • parseInt() 메소드는 일반적으로 특정 문자열을 특정 진수의 정수로 반환한다.

toString에 저런 기능까지 있는 줄 전혀 몰랐다.

n.toString(3)으로 3진수로 변환하고 이걸 배열로 만들어 reverse로 뒤집고 그 배열을 join 써서 문자열로 바꾼 다음 그걸 다시 parseInt로 10진수로 바꾸면 ... !!

작성한 정답 코드

function solution(n) {
  return parseInt([...n.toString(3)].reverse().join(""), 3);
}

0개의 댓글