Algorithm/Programmers
17687. [3차] n진수 게임
사랑우주인
2025. 3. 27. 03:34
문제
https://school.programmers.co.kr/learn/courses/30/lessons/17687
제한 사항

풀이
class Solution {
public String solution(int n, int t, int m, int p) {
StringBuilder answer = new StringBuilder();
StringBuilder convert = new StringBuilder();
for(int i = 0 ; i< t * m ; i ++) {
convert.append(Integer.toString(i, n));
// System.out.print(convert.charAt(i));
}
for(int i = p-1; i < t*m ; i+=m) {
answer.append(convert.charAt(i));
}
for(int i = 0 ; i < answer.length(); i++) {
System.out.print(answer.charAt(i));
}
return answer.toString().toUpperCase();
}
}
회고
- m명의 참가인원이 돌아가면서 자신의 숫자를 말하는 게임이 주어진다.(369게임 처럼...)
- 자신의 차례에 말한 숫자를 미리 파악해야한다.
- 자신이 말해야할 횟수(t) * 참여인원(m) 만큼의 숫자 내 자신이 말할 모든 숫자(t 개)가 포함된다.
- 자신의 차례에 말할 숫자를 파악하는 건 어렵지 않지만 그 숫자의 n진수 변환값을 아는게 핵심이었다.
숫자를 n진수 문자열로 변환하는 함수가 Integer에 존재핸다.(모르고 있었다...)
Integer.toString(i, n)