[프로그래머스] n진수 게임
2020. 4. 8. 16:10ㆍ프로그래머스/카카오
class Solution {
public String solution(int n, int t, int m, int p) {
String answer = "";
String temp = "0";
int flag = 1;
int count =0;
while(temp.length()<t*m){
String plustemp = conver(flag,n);
for(int i=0; i<plustemp.length(); i++){
if(temp.length()<t*m){
temp +=Character.toString(plustemp.charAt(i));
}else{
break;
}
}
flag++;
}
while(answer.length()!=t){
answer += Character.toString(temp.charAt((p+m*count)-1));
count ++;
}
System.out.println(temp);
return answer;
}
private String conver(int flag,int n){
StringBuffer sb = new StringBuffer();
char[] what = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int res;
while(flag!=0){
res = flag%n;
flag = flag/n;
sb.append(Character.toString(what[res]));
}
return sb.reverse().toString();
}
}
1. 각 순서에서 외쳐야할 숫자(1~F)를 t*m개만큼 만든다.
2. n진수의 숫자를 만들기 위한 conver 메소드.
3. 역순으로 리턴해줘야 하므로 StringBuilder 사용
4. m명중 p번째 순서일때 외쳐야할 숫자를 answer의 길이가 t가 될 때까지 더해나감.
'프로그래머스 > 카카오' 카테고리의 다른 글
[프로그래머스][3차]파일명 정렬 (0) | 2020.04.09 |
---|---|
[프로그래머스][3차][압축] (0) | 2020.04.09 |
[프로그래머스] 카카오프렌즈 컬러링북 (0) | 2020.04.04 |
[프로그래머스] 오픈채팅방 (0) | 2020.04.02 |
[프로그래머스] [1차] 뉴스 클러스터링 (0) | 2020.04.01 |