최대 1 분 소요

1. 문제

[level 1] 3진법 뒤집기 - 68935

문제 링크

성능 요약

메모리: 10.2 MB, 시간: 0.02 ms

구분

코딩테스트 연습 > 월간 코드 챌린지 시즌1

채점결과


정확성: 100.0
합계: 100.0 / 100.0

문제 설명

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


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

입출력 예
n result
45 7
125 229

입출력 예 설명

입출력 예 #1

  • 답을 도출하는 과정은 다음과 같습니다.
n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현
45 1200 0021 7
  • 따라서 7을 return 해야 합니다.

입출력 예 #2

  • 답을 도출하는 과정은 다음과 같습니다.
n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현
125 11122 22111 229
  • 따라서 229를 return 해야 합니다.

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

2. 해결방법 시간복잡도

  1. 단순 코딩 O(N)

3. 문제 해결 및 코드


  • 주석을 참고하면서 이해를 돕습니다.

4. 알고리즘 및 해설

  1. while문을 통해 해당 값이 1보다 큰 경우 몫과 나머지를 반환해준다.
    • 이때 몫은 다시 n이 된다.
  2. 이후 해당 값을 answer에 문자상태로 저장해준다.
  3. 저장된 문자를 다시 10진수로 변형하여 출력한다.