
1부터 N 까지 나열 된 수에서 K번째 수 마다 차례대로 뽑아 낸 수열의 모음을 출력하는 것
1부터 n 까지 나열 된 수가 있다
{1,2,3,4,5,6,7} -> {1,2,3,4,5,6,7} = 3출력
그 다음 3의 위치에서 K번째 (3) 수인 6을 출력 .. 이런식으로 N번 반복하는 것
큐로 이용하는 가장 보편적인 방법은 K-1번 만큼 앞의 수들을 꺼내서 맨 뒤로 넣고, K번째 수를 출력하면 된다.
package Queue;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Yoseputh {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Queue<Integer> q = new LinkedList<>();
int N = sc.nextInt();
int K = sc.nextInt();
for (int i=1; i<=N; i++){
q.add(i);
}
StringBuilder sb = new StringBuilder();
sb.append('<');
while(q.size() > 1){
for (int i=0; i < K-1; i++){
int val = q.poll();
q.offer(val);
}
sb.append(q.poll()).append(", ");
}
sb.append(q.poll()).append('>');
System.out.println(sb);
}
}