import java.util.*;
class Solution {
static StringBuilder sb = new StringBuilder();
static StringBuilder answer = new StringBuilder();
public String solution(int n, int t, int m, int p) {
// 무조건 한번에 한 숫자만 말할수있다.
// 다음 숫자가 12면 1,2 이렇게 말해야한다.
// 0 [1] 1 [0] 1 [1] 1 [0] 0 ~
for(int i=0; i<=t*m; i++){
sb.append(Integer.toString(i,n));
}
for(int i=p-1; answer.length()<t; i+=m){
char ctr = sb.charAt(i);
answer.append(ctr);
}
return answer.toString().toUpperCase();
}
}
처음에 문제 이해가 잘 안됐는데 그래도 금방 이해해서 바로 문제를 해결했다.
처음에 StringBuilder안썻는데 시간초과 떠서 사용했다. 이런 문자열 문제는 이론상 완벽하다 싶은데 시간초과뜨면 StringBuilder 쓰면된다.
그리고 진법변환 명심하자.
Integer.toString(int 타입, n 진법);
이렇게 써주면된다.
글 잘 봤습니다, 많은 도움이 되었습니다.