카카오 - n진수 게임

greenTea·2023년 7월 27일
0
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를 통해서 값을 더해서 구하였습니다.

출처 : 프로그래머스 스쿨

profile
greenTea입니다.

0개의 댓글