Programming/프로그래머스
[프로그래머스] 3진법 뒤집기 (java)
쬬앤
2021. 6. 27. 18:45
3진법 수를 만들때 일반적으로 진법 수 만들때 뒤집기가 필요하므로
그냥 그대로 진행하게 되면 reverse된 3진법을 구할 수 있게 된다.
[코드]
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
answer = makeDecimal(makeReverseTernary(n));
return answer;
}
//1. 3진법으로 만들어주는 함수 + 뒤집기
static String makeReverseTernary(int num){
String ternary = "";
while(num != 0){
ternary += Integer.toString(num % 3);
num /= 3;
}
return ternary;
}
//2. 10진법으로 만들어주는 함수, 3진법 -> 10진법
static int makeDecimal(String num){
int decimal = 0;
int length = num.length();
int n;
for(int i = 0; i < length; i++){
n = num.charAt(length - 1 - i) - '0';
decimal += n * Math.pow(3, i);
}
return decimal;
}
}