class Solution {
public String solution(int n, int t, int m, int p) {
StringBuilder sb = new StringBuilder();
StringBuilder answer = new StringBuilder();
p--;
int i = 0;
while (t > 0) {
while (p >= sb.length()) {
sb.append(Integer.toString(i++, n).toUpperCase());
}
answer.append(sb.charAt(p));
p+=m;
t--;
}
return answer.toString();
}
}
🫠
Integer.toString(a, b)
메소드를 알고 있다면 생각보다 쉽게 풀 수 있는 문제입니다.
Integer.toString(a, b) -> a라는 수를 b진법으로 변환시키는 메소드
🥳처음에는 미리 숫자를 다 구해놓고 해당 숫자를 구하는 방식으로 풀었으나 이렇게 풀면 시간이 초과되기에 필요할 때마다 숫자를 변환시켜서 저장 시키는 방법으로 구하였습니다.
해당 값을 저장하기 위해String
에 직접 더하기보다는StringBuilder
를 통해서 값을 더해서 구하였습니다.
출처 : 프로그래머스 스쿨