변명은 만개 결과는 한개

[백준 11866] 요세푸스 문제 0 (java) 본문

공부/Problem Solving

[백준 11866] 요세푸스 문제 0 (java)

노마십가 2022. 5. 3. 01:44
728x90
반응형

11866번: 요세푸스 문제 0 (acmicpc.net)

 

11866번: 요세푸스 문제 0

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

www.acmicpc.net

import java.io.*;
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(), " ");
        String[] strs = br.readLine().split(" ");
        int N = Integer.parseInt(strs[0]);
        int K = Integer.parseInt(strs[1]);

        int[] arr = new int[N];

        for (int i = 0; i < N; i++) {
            arr[i] = i;
        }

        int answerCount = 0;

        int index = -1;

        int leftMovePoint = K;

        System.out.print("<");
        while (answerCount < N) {
            index = (index + 1) % N;
//            System.out.println(">curr:" + arr[index]);
            if (arr[index] == -1) {
//                System.out.println("SKIP");
            } else {
                leftMovePoint--;
                if (leftMovePoint == 0) {
//                    System.out.println("V!" + arr[index]+","+(index+1));
                    System.out.print(index + 1);
                    arr[index] = -1;
                    answerCount++;
                    leftMovePoint = K;
                    if(answerCount==N){
                        break;
                    } else {
                        System.out.print(", ");
                    }
                }
            }
        }
        System.out.print(">");

    }
}
728x90
반응형

'공부 > Problem Solving' 카테고리의 다른 글

[백준 2630] 색종이 만들기 (java)  (0) 2022.05.03
[백준 23253] 자료구조는 정말 최고야 (java)  (0) 2022.05.03
[백준 11650] 좌표 정렬하기 (java)  (0) 2022.05.03
[이분 탐색 01]  (0) 2020.07.01
[DFS, BFS 01]  (0) 2020.06.26