1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
class Solution {
// 진수 변환기
public static String getConversionNumber(int n, int num) {
StringBuilder sb = new StringBuilder();
if (num == 0)
return "0";
while (num != 0) {
if (num % n >= 10) {
sb.append((char) (55 + num % n));
} else {
sb.append(num % n);
}
num /= n;
}
return sb.reverse().toString();
}
public String solution(int n, int t, int m, int p) {
String answer = "";
StringBuilder sb = new StringBuilder();
int cnt = 0, num = 0;
// 지정 횟수만큼 고르면 종료
while (t > 0) {
String getNum = getConversionNumber(n, num++);
for (int i = 0; i < getNum.length(); i++) {
cnt++;
// 자기 차례 확인
if (cnt % m == p || m == p && cnt % m == 0) {
sb.append(getNum.charAt(i));
t--;
}
if (t <= 0)
break;
}
}
answer = sb.toString();
return answer;
}
}
|
cs |
n진수 변환 함수를 작성해보는 좋은 경험이었다.
'Programmers > Level2' 카테고리의 다른 글
최솟값 만들기 (0) | 2021.08.02 |
---|---|
다음 큰 숫자 (0) | 2021.08.01 |
최댓값과 최솟값 (0) | 2021.07.31 |
이진 변환 반복하기 (0) | 2021.07.31 |
올바른 괄호 (0) | 2021.07.31 |