백준공부/java

[1158번] 요세푸스 문제 (silver 4

gomduri43 2023. 4. 3. 21:24

import java.io.*;
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));
        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());
        Queue<Integer> table=new LinkedList<>();
        for(int i=1; i<=n; i++){
            table.offer(i);
        }
        int temp=0;
        while(true){
            if(table.size()==1){
                sb.append(table.poll());
                break;
            }
            temp++;
            if(temp==k){
                sb.append(table.poll());
                temp=0;
                sb.append(", ");
            
            }
            else{
                table.offer(table.poll());
            }
        }
        sb.append(">");
        bw.write(sb.toString());
        bw.flush();
    }
}