풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Queue;
import java.util.StringTokenizer;
public class S1158 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
Queue<Integer> queue = new ArrayDeque<>();
for (int i = 1; i <= N; i++) {
queue.add(i);
}
sb.append("<");
int cnt = 0;
while (!queue.isEmpty()) {
cnt++;
if (cnt == K) {
sb.append(queue.poll());
cnt = 0;
if (!queue.isEmpty()) {
sb.append(", ");
}
} else {
queue.add(queue.poll());
}
}
sb.append(">");
System.out.println(sb);
}
}
Queue나 ArrayDeque 사용해서 풀이 가능
cnt 변수를 사용해서 K와 다를 때는 poll과 동시에 다시 queue의 뒤로 add해서 원처럼 작동하게 하고
K와 같을 때는 poll을 진행
'Algorithm' 카테고리의 다른 글
자료구조 / 백준 17413 단어 뒤집기 2 (0) | 2025.04.07 |
---|---|
자료구조 / 백준 10866 덱 (0) | 2025.04.06 |
자료구조 / 백준 10845 큐 (0) | 2025.04.03 |
자료구조 / 백준 1406 에디터 (0) | 2025.04.02 |
자료구조 / 백준 1874 스택 수열 (0) | 2025.04.01 |