https://www.acmicpc.net/problem/1158
K번 쨰 수가 되기 직전까지 맨 앞의 원소를 K-1 번 꺼내오고(poll) 꺼내온 원소들을 맨 뒤로 넣는다.(offer)
그리고 K번째로 뽑힌(poll) 원소는 출력하면 된다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Queue<Integer> q = new LinkedList<>();
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
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++) {
q.offer(q.poll());
}
sb.append(q.poll()).append(", ");
}
sb.append(q.poll()).append('>');
System.out.println(sb);
}
}
'Koala - 15기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/C++] 1644번: 소수의 연속합 (0) | 2024.08.09 |
---|---|
[백준/Python] #10451 순열 사이클 (0) | 2024.08.08 |
[백준/Python] 13904번 : 과제 (0) | 2024.08.05 |
[백준/c++] 1417번 : 국회의원 선거 (0) | 2024.08.04 |
[백준/Python] 2164번: 카드2 (0) | 2024.08.04 |