현재

[Java][BaekJoon][11866] 요세푸스 문제0(Queue) 본문

알고리즘/백준

[Java][BaekJoon][11866] 요세푸스 문제0(Queue)

AAAge 2024. 5. 4. 19:51

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

<이 문제에서 얻어가야 할 것>

Queue의 사용법, offer와 poll의 작동법

 

<힌트>

더보기

・Queue를 사용

・offer와 poll을 사용 

<풀이코드>

더보기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.*;

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());
        int K = Integer.parseInt(st.nextToken());

        Queue<Integer> q = new LinkedList<>();

        for(int i = 1; i <= N; i++){
            q.add(i);
        }

        StringBuilder sb = new StringBuilder();
        sb.append("<");

        while (q.size() > 1){
            for(int i = 0; i < K-1 ; i++){
                q.offer(q.poll());
            }
            sb.append(q.poll()).append(", ");
        }

        sb.append(q.poll()).append(">");
        System.out.println(sb);
    }
}