3진법 뒤집기
문제
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후,
이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
입출력
입출력 예 설명
n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
---|
45 | 1200 | 0021 | 7 |
n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
---|
125 | 11122 | 22111 | 229 |
풀이 과정
- 입력 받은 수 n을 3보다 작을 때 까지 나눠서 answer이라는 문자열 변수에 담아준다
- 1번 과정에서 자동으로 3진법이 반전된 상태로 들어간다.
- Integer.parseInt(진법으로 표현된 값이 존재하는 변수, 3)을 이용하여 다시 10진법으로 표현.
class Solution {
public int solution(int n) {
String answer = "";
while (n != 0) {
answer += n % 3;
n /= 3;
}
return Integer.parseInt(answer, 3);
}
}