🧠 Algorithm/[JAVA] Programmers

[68935번] 3진법 뒤집기

0_ch4n 2022. 6. 2. 15:14
반응형

월간 코드 챌린지 시즌1

✔️ 문제 설명

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

 

더보기

✔️ 입출력 예

입출력 예 #1

  • 답을 도출하는 과정은 다음과 같습니다.
  • 따라서 7을 return 해야 합니다.

입출력 예 #2

  • 답을 도출하는 과정은 다음과 같습니다.
  • 따라서 229를 return 해야 합니다.

 

✔️ 제한사항

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

 

✔️ 코드구상

어려운 문제는 아닌 것 같습니다. n을 받아서 3진수로 변환하고 뒤집은 후 다시 10진수로 변환하면 끝인거 같아서

n을 0보다 작아질 때까지 3으로 나눈 나머지를 String으로 받아서 더해준다면 자연스럽게 거꾸로 변환될거고

그 변환한 3진수를 parseInt를 통해 10진수로 다시 변환해서 출력하면 될 것입니다.

 

✔️ 코드

public class Solution {
    public int solution(int n) {
        int answer = 0;

        answer = Integer.parseInt(transfer(n), 3);

        return answer;
    }

    String transfer(int n) {
        String result = "";

        while(n > 0) {
            result += "" + n % 3;
            n /= 3;
        }
        return result;
    }
}

 

📄 원문

https://programmers.co.kr/learn/courses/30/lessons/68935

반응형