티스토리 뷰

💡 문제

3진법 뒤집기

 

🔍 분석 및 계획

 문제 이해

진법 변환문자열 뒤집기 이 두 가지를 이용한 풀이이다

 

  • 입력 값 : 자연수 n
    - 1 <= n <= 100,000,000
  • 출력 값 : n -> 3진법 -> 뒤집기 -> 10진법

 

10진수 <-> n진수 간 변환은 ParseInt()와 toString() 내장함수를 사용하면 쉽게 변환이 가능하다 

  • n진수 → 10진수
// 2진수 → 10진수
let bin = "100101"
let dec = parseInt(bin, 2); // 123
  • 10진수 → n진수
// 10진수 → 2진수
let dec = 15;
let bin = dec.toString(2); // "1111"

 

문자열 뒤집기는 배열의 내장 함수를 이용하면 짧은 코드로 간단하게 나타낼 수 있다

  1. split()
  2. reverse()
  3. join()

 

 

 의사코드 작성

// 10진법 -> 3진법
// 문자열로 변환 후 뒤집기
// 10진법으로 변환

 

 

📝 코드 구현

의사코드 + 코드

function solution(n) {
  // 10진법 -> 3진법
  let answer = n.toString(3);
  // 문자열로 변환 후 뒤집기
  answer = answer.split("").reverse().join("");
  // 10진법으로 변환
  answer = parseInt(answer, 3);
  return answer;
}

 

최종 코드

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

시간 복잡도 : O(n²)

 

💭 되돌아 보기

다른 사람 풀이

동일

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함