https://school.programmers.co.kr/learn/courses/30/lessons/68935
문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예
n result 45 7 125 229
class Solution {
public int solution(int n) {
String str = "";
while (n != 0) {
str += n % 3;
n /= 3;
}
return Integer.parseInt(str, 3);
}
}
1. 3진법 변환
e.g. n = 10 인 경우
10, str
= "1"
10 / 3 = 3
3, str
= "10"
3 / 3 = 1
1, str
= "101"
1 / 3 = 0
결과적으로 str
-> "101"
2. 3진법 값을 10진법 정수로 변환
s
를 주어진 기수(radix)를 기준으로 정수로 변환s
에 저장된 3진법 숫자를 10진법 정수로 반환