반응형
코딩테스트 문제를 풀다보면 N진법을 활용한 문제가 꽤나 나오는 것 같다.
그래서 까먹지 않도록 저장해놓고 익히자!!
String notation = Integer.toString(100, n);
Integer.toString(변환할 숫자, 변환할 진법);
직접 계산해보기
public String notation(int num, int n) {
StringBuilder sb = new StringBuilder();
if (num == 0) return "0"; // 0이면 0리턴
while (num > 0) {
if (num % n < 10) {
sb.append(num % n); // 나머지가 1자릿수면 그대로 추가
} else {
sb.append((char)(num%n-10 + 'A')); // 10, 11, 12 .. 의 경우 알파벳을 추가해야함. 10=A, 11=B ...
}
num /= n; // 추가가 끝났다면 n으로 나눈 몫을 다시 계산
}
return sb.reverse().toString(); // 계산한 나머지값의 역순으로
}
반응형