본문 바로가기
알고리즘

[JAVA]백준 11866번: 요세푸스 문제 0

by Kwoncorin 2020. 12. 27.
728x90

www.acmicpc.net/problem/11866

 

11866번: 요세푸스 문제 0

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

www.acmicpc.net

 

1. 문제 설명

 

N명의 사람들이 원을 이루면서 앉아있을 때 K번째 사람을 없애고 없애지는 순서대로 출력하면 된다. 문제 분류는 큐가 적혀있는데 큐 대신 ArrayList를 사용하였다.

 

2. 코드

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Main {



    public static void main(String[] args) throws IOException {
        Scanner scan=new Scanner(System.in);

        int N=scan.nextInt();
        int K=scan.nextInt();
        int index=K-1;

        ArrayList<Integer> list=new ArrayList<>();

        for(int i=1;i<=N;i++)
            list.add(i);

        System.out.print("<"+K);
        list.remove(K-1);

        for(int i=0;i<N-1;i++){
            index=(index+K-1)%(list.size());

            System.out.print(", "+list.get(index));
            list.remove(index);
        }

        System.out.print(">");

        scan.close();
    }



}
728x90

'알고리즘' 카테고리의 다른 글

[JAVA]백준 4779번: 칸토어 집합  (0) 2020.12.28
[JAVA]백준 1037번: 약수  (0) 2020.12.27
[JAVA]백준 2447번: 별 찍기 - 10  (0) 2020.12.27
[JAVA]백준 11653번: 소인수분해  (0) 2020.12.23
[JAVA]백준 17829번: 222-풀링  (0) 2020.11.29