public static void main(String[] args) {
int a = 1;
int b = 6;
}
static void output(int a, int b) {
String str = "";
for (int i = 1; i < b + 1; i++) {
if (i == 1) {
str = "1 ";
}else {
str = makeNextString(str);
}
System.out.println(str);
if (i >= a && i <= b) {
System.out.println(str);
}
}
}
static String makeNextString(String prevStr) {
Queue<Integer> queue = new LinkedList<>();
Arrays.stream(prevStr.split(" ")).forEach(s -> queue.offer(Integer.parseInt(s)));
int prev = 0;
int count = 0;
StringBuilder stringBuilder = new StringBuilder();
while (queue.size() > 0) {
int out = queue.poll();
if (out != prev) {
if (prev != 0) { // 최초가 아니면
stringBuilder.append(String.valueOf(count) + " ");
}
prev = out;
stringBuilder.append(String.valueOf(out) + " ");
count = 1;
}else {
count++;
}
}
stringBuilder.append(String.valueOf(count) + " ");
return stringBuilder.toString();
}
개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.