🔥 2018 KAKAO BLIND RECRUITMENT
입력 형식:
진법 n, 미리 구할 숫자의 갯수 t, 게임에 참가하는 인원 m, 튜브의 순서 p 가 주어진다.
- 2 ≦ n ≦ 16
- 0 < t ≦ 1000
- 2 ≦ m ≦ 100
- 1 ≦ p ≦ m
출력 형식:
튜브가 말해야 하는 숫자 t개를 공백 없이 차례대로 나타낸 문자열. 단, 10~15는 각각 대문자 A~F로 출력한다.
예제:
n | t | m | p | result |
2 | 4 | 2 | 1 | "0111" |
16 | 16 | 2 | 1 | "02468ACE11111111" |
16 | 16 | 2 | 2 | "13579BDF01234567" |
Solution #1
class Solution {
public String solution(int n, int t, int m, int p) {
StringBuilder answer = new StringBuilder();
StringBuilder builder = new StringBuilder("0");
// n 진법 변환
for (int i = 1; i < t * m; i++) {
int number = i;
String s = "";
while (number > 0) {
s = convert(number % n) + s;
number /= n;
}
builder.append(s);
}
char[] array = builder.toString().toCharArray();
for (int i = p - 1; i < array.length; i = i + m) {
if (answer.toString().length() >= t) break;
answer.append(array[i]);
}
return answer.toString();
}
private char convert(int mod) {
return mod < 10 ? (char) (mod + '0') : (char) ('A' - 10 + mod);
}
}
Result #1
More Algorithm!
👇👇
github.com/ggujangi/ggu.programmers
출처 : 프로그래머스
'프로그래머스 - JAVA > Level 2' 카테고리의 다른 글
[JAVA] 프로그래머스 Lv.2 : [3차] 파일명 정렬 (0) | 2021.08.14 |
---|---|
[JAVA] 프로그래머스 Lv.2 : 스킬트리 (0) | 2021.08.12 |
[JAVA] 프로그래머스 Lv.2 : 짝지어 제거하기 (0) | 2021.06.23 |
[JAVA] 프로그래머스 Lv.2 : 올바른 괄호 (0) | 2021.06.23 |
[JAVA] 프로그래머스 Lv.2 : 땅따먹기 (0) | 2021.06.23 |