[자료구조]원형 큐
○ Queue의 구조
- First In First Out
○ 원형 큐 처리 과정
문제에서 '간격' 혹은 '특정숫자'로 나올 경우
K = '간격', '특정숫자'
ex) K = 3 인 경우 + 1 ~ 8번까지의 사례
마지막으로 남은 숫자를 poll() 해주면 됩니다.
## Sample Source ##
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import java.io.*;
import java.util.*;
public class Main {
public int solution(int N, int K) {
int answer = 0;
Queue<Integer> q = new LinkedList<>();
// 1 ~ N까지 입력
for (int i = 1; i <= N; i++) {
q.offer(i);
}
while(!q.isEmpty()) {
for (int j = 1; j < K; j++) {
q.offer(q.poll());
}
q.poll();
if (q.size() == 1) {
answer = q.poll();
}
}
return answer;
}
public static void main(String[] args) throws IOException {
Main T = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
System.out.println(T.solution(N, K));
}
}
|
cs |
'알고리즘 지식 > 자료구조' 카테고리의 다른 글
[자료구조]문자열 (0) | 2023.01.02 |
---|---|
[자료구조]버블 정렬 (0) | 2022.12.30 |
[자료구조]슬라이딩 윈도우 With 투 포인터 (0) | 2022.12.26 |
[자료구조]브루트 포스 (2) | 2022.12.25 |
[자료구조]투 포인터 (2) | 2022.12.24 |
댓글
이 글 공유하기
다른 글
-
[자료구조]문자열
[자료구조]문자열
2023.01.02 -
[자료구조]버블 정렬
[자료구조]버블 정렬
2022.12.30 -
[자료구조]슬라이딩 윈도우 With 투 포인터
[자료구조]슬라이딩 윈도우 With 투 포인터
2022.12.26 -
[자료구조]브루트 포스
[자료구조]브루트 포스
2022.12.25