본문 바로가기
백준

백준 큐 - 11866번 : 요세푸스 문제 0

by 맴썰 2022. 3. 3.

https://www.acmicpc.net/problem/11866

 

11866번: 요세푸스 문제 0

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)

www.acmicpc.net


import java.util.*;
import java.io.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringTokenizer st = new StringTokenizer(br.readLine());
		StringBuilder sb = new StringBuilder("<");
		int n = Integer.parseInt(st.nextToken());
		int k = Integer.parseInt(st.nextToken());
		ArrayList<Integer> cir = new ArrayList<>();
		for(int i=0; i<n; i++) {
			cir.add(i+1);
		}
		int target = k-1;
		while(true) {
			if(cir.size()==1) {
				sb.append(cir.remove(0)+">");
				break;
			}
			int t = cir.remove(target);
			sb.append(t+", ");
			target+=k-1;
			if(cir.size()<=target) {
				while(target>=cir.size()) {
					target-=cir.size();
				}
			}
		}
		bw.write(sb+"");
		bw.close();
	}
	
}

'백준' 카테고리의 다른 글

백준 스택 - 10773번 : 제로  (0) 2022.03.03
백준 스택 - 4949번 : 균형잡힌 세상  (0) 2022.03.03
백준 덱 - 10866번 : 덱  (0) 2022.03.03
백준 큐 - 10845번 : 큐  (0) 2022.03.03
백준 스택 - 10828번 : 스택  (0) 2022.03.03