[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진수를 구해야한다.