[Programmers]-[3차]n진수 게임

문제

문제

0부터 순차적으로 n진수를 한글자씩 부르기 게임이다.

코드

class Solution {
    public String solution(int n, int t, int m, int p) {
        String answer = "";
        String temp = "0";
        String changedNum = "";
        
        int sLen = t*m+p-1;
        
        for(int i=1;i<=sLen;i++){
            changedNum = change(i,n);
            
            for(int j=0;j<changedNum.length();j++){
                temp += changedNum.charAt(j);   
            }
            if(temp.length() >= sLen) break;
        }
        
        for(int i=0;i<t;i++){
            answer+= temp.charAt(m*i+p-1);
        }
        
        return answer;
    }
    
    public String change(int value,int n){
        String k = "";
        
        while(value != 0){
            if((value%n) < 10){
                k = (value%n)+k;
            }
            else{
                char temp1 = (char)((value%10)+55);
                k = (char)(value%n+55) +k;
            }
            value /= n;
        }
        return k;
    }
}

코드 설명

이게 시간복잡도가 많이 걸릴 줄 몰랐다.

효율성을 구했다면 통과하지 못할 문제였다.

다음에 효율성을 줄이는 코드를 만들어야겠다.

요약

  • n진수를 구해야한다.