🟦/백준

[실버 5] 요세푸스 문제 0

진뚱이용 2023. 6. 18. 23:57

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

 

11866번: 요세푸스 문제 0

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

www.acmicpc.net

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

class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st;
        
        int N,K;
        st = new StringTokenizer(br.readLine());
        N = Integer.parseInt(st.nextToken());
        K = Integer.parseInt(st.nextToken());
        
        ArrayList<Integer> arrayList = new ArrayList<>();
        for(int i = 1 ; i <=N ;i++)
            arrayList.add(i);
        
        sb.append("<");
        
        int index = -1;
        while(arrayList.size()!=0){
            index = (index + K ) % arrayList.size();
            sb.append(arrayList.remove(index)+", ");
        }
        
        sb.setLength(sb.length()-1);
        sb.setLength(sb.length()-1);
        sb.append(">");
        
        System.out.println(sb);
        
    }
}