🖇️ 문제 링크
코딩테스트 연습 - [3차] n진수 게임
튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0부터 시작해서 차례대로 말한다. 첫 번째 사람은 0, 두 번째 사람은 1, ... 열 번째 사람은 9를 말한다. 10 이상의 숫자부터는 한 자리씩 끊어서 말한다.


📝 문제 분석
튜브가 말해야 하는 숫자를 모두 구하려면, m * (t - 1) + p개의 답을 만들고, 튜브의 순서에 맞는 답만 골라내줍니다.
💡
Integer.toString(num, radix)
= num을 radix진법으로 변환한 문자열을 리턴합니다
⌨️ 코드
class Solution {
public String solution(int n, int t, int m, int p) {
StringBuilder answer = new StringBuilder();
StringBuilder sb = new StringBuilder();
int i = 1;
sb.append(0);
while (sb.length() < m * t)
sb.append(Integer.toString(i++, n));
for (int j = p - 1; j < m * (t - 1) + p; j += m)
answer.append(sb.charAt(j));
return answer.toString().toUpperCase();
}
}
Uploaded by Notion2Tistory v1.1.0