사이트 : 프로그래머스
푼 날짜 : 2022-06-23
난이도 : LV1
제목 : 체육복
public int solution(int n) {
int answer = 0;
Integer temp = n;
StringBuilder result2 = new StringBuilder();
ArrayList<Integer> result = new ArrayList<>();
while(temp>0){
result.add(temp%3);
result2.append(temp%3);
temp=temp/3;
}
System.out.println("result2 = " + result2);
for (int i = result.size()-1; i >=0; i--) {
answer+= result.get(i) * Math.pow(3, result.size()-i-1);
}
System.out.println(Integer.parseInt(result2.toString(),3));
return answer;
}
Integer에 진법하는 메소드가 있다는걸 처음 알았다.
10진법을 다른 진법으로 변환하기
Integer.toString(10진법수,바꿀진법)
//ex
Integer.toString(45,3);
;
다른진법을 10진법으로 변환하기
Integer.parseInt(숫자,이숫자의진법);
Integer.parseInt("1011",2);
String타입이 아니면 무조건 10진수로 판별하게 된다.