프로그래머스 - 코딩테스트 - Level1 - 3진법 뒤집기
풀이
class Solution {
public int solution(int n) {
int answer = 0;
String str = "";
String[] arr;
int num = 1;
while(n != 0){
int a = n%3; // 나머지 구하기
n /= 3; // n 교체
str += a; // 반전 값 추가
}
arr = str.split(""); // 배열에 넣기
// 10진법으로 표현
for(int i=arr.length-1; i>=0; i--){
int a = Integer.parseInt(arr[i]); // 각 자리수 변수에 담기
if(i == arr.length-1){ // 처음이면 그냥 값만 저장
answer += a;
}else{ // 처음이 아니면
num *= 3;
answer += (a*num); // 값 저장
}
}
return answer;
}
}
결과