백준/25001 - 30000
[백준] 28066번 : 타노스는 요세푸스가 밉다
lms0806
2024. 11. 8. 22:45
728x90
반응형
https://www.acmicpc.net/problem/28066
해당 문제는 k-1번 값을을 제거하고 옆으로 이동하고 k-1번 반복해서 값을 제거하는 활동을 1개의 숫자가 남을때까지 반복하면 됩니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()), k = Integer.parseInt(st.nextToken());
Queue<Integer> queue = new LinkedList<>();
for(int i = 1; i <= n; i++) {
queue.add(i);
}
while(true) {
boolean flag = false;
queue.add(queue.poll());
for(int i = 1; i < k; i++) {
if(queue.size() == 1) {
flag = true;
break;
}
queue.poll();
}
if(flag) {
break;
}
}
System.out.print(queue.peek());
}
}
728x90
반응형