문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한 사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예
입출력 예 설명
입출력 예 #1
| n(10진법) | n(3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
|---|
| 45 | 1200 | 0021 | 7 |
입출력 예 #2
| n(10진법) | n(3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
|---|
| 125 | 11122 | 22111 | 229 |
나의 코드
class Solution {
public int solution(int n) {
String answer = "";
for (int i = 0; i < Integer.toString(n, 3).length(); i++) {
answer += String.valueOf(Integer.toString(n, 3).charAt(Integer.toString(n, 3).length() - 1 - i));
}
return Integer.parseInt(answer, 3);
}
}
풀이 방법
Integer 클래스에는 여러가지 진법의 함수가 존재한다.
- 입력받은 수
n을 3진법으로 바꾸고 그 갯수만큼 루프를 돌려서 answer에 거꾸로 대입해준다.
- 마지막으로
answer를 10진수로 바꾸고 리턴하면 되는 문제이다.