import java.util.ArrayList;
import java.util.List;
class Solution {
public int solution(int n) {
int answer = 0;
List<Integer> trinary = new ArrayList<Integer>();
for(int i = n; i > 0; i = i / 3) {
trinary.add(i % 3);
}
for(int j = trinary.size() - 1, k = 0; j >= 0 ; j--, k++) {
answer += (trinary.get(j) * quarter(k));
}
return answer;
}
public int quarter(int n) {
int a = 1;
for(int b = 0; b < n; b++) {
a = a * 3;
}
return a;
}
}
삼진법으로 변환한 값을 저장하는 곳은 길이가 n이 무엇이냐에 따라 달라지기 때문에 list로 선언해서 삼진법으로 변환한 자릿수들을 저장했다.
list를 구하고 앞에서부터가 아닌 뒤에서부터 숫자를 연산해서 십진법으로 변환했다.
'내일배움캠프' 카테고리의 다른 글
뉴스피드 프로젝트 1일차 (0) | 2024.06.04 |
---|---|
Spring 숙련주차 Part4 (2) | 2024.06.03 |
최대공약수와 최소공배수 구하기 (0) | 2024.05.31 |
MySQL에서의 if문과 case문 (0) | 2024.05.30 |
행렬 간 덧셈 (0) | 2024.05.28 |