11005:진법변환2

https://www.acmicpc.net/problem/11005

풀이

  1. 몇 번 나누는지 count

  2. count 만큼 배열 생성

  3. 생성한 배열에 n%b를 차례대로 저장

  4. n 은 n/b를 새로 저장

  5. n이 0보다 클때까지 3번4번을 반복 실행

  6. 값들을 저장한 배열의 값을 index 끝부터 0까지 차례대로 출력

  7. 그런데, 해당 index의 값이 10보다 큰경우는

  8. char(값+55) 로 출력

1
2
3
4
5
6
7
8
9
10
11
12
StringBuilder ans = new StringBuilder();
while (n > 0) {
int r = n % b;
if (r < 10) {
ans.append((char)(r + '0'));
} else {
ans.append((char)(r - 10 + 'A'));
}
n /= b;
}
System.out.println(ans.reverse());
}

Comments