
내가 작성한 코드
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
List<Integer> list = new ArrayList<>(); // 3진법으로 변환한 값을 저장할 리스트
// 3진법으로 변환
while(n > 0) {
list.add(n % 3);
n /= 3;
}
Collections.reverse(list); // 뒤집기
for(int i = 0; i < list.size(); i++) {
answer += list.get(i) * Math.pow(3, i); // 3진법을 10진법으로 변환
}
return answer;
}
}
다른 사람의 코드
class Solution {
public int solution(int n) {
String a = "";
while(n > 0){
a = (n % 3) + a; // 문자열에 3진법 담기
n /= 3;
}
a = new StringBuilder(a).reverse().toString(); // 뒤집기
return Integer.parseInt(a,3); // a를 3진법으로 변환 -> 두 번째 매개변수는 기수(변환할 진수)
}
}
Share article