[백준] 1158번 요세푸스 (java)

728x90
반응형

www.acmicpc.net/problem/1158

 

1158번: 요세푸스 문제

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

www.acmicpc.net

 

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
		static int n,k;
		public static void main(String[] args) {
			Scanner sc=new Scanner(System.in);
			n=sc.nextInt();
			k=sc.nextInt();
			int idx=k-1;
			ArrayList<Integer> arr=new ArrayList<>();
			for (int i = 0; i < n; i++) {
				arr.add(i+1);
			}
			System.out.print("<");
			while(arr.size()>0) {
				System.out.print(arr.get(idx));
				if(arr.size()>1) {
					System.out.print(", ");
				}
				arr.remove(idx);
				if(arr.size()>0)
				idx=(idx+k-1)%arr.size();
			}
			System.out.print(">");
		}
}
728x90
반응형
TAGS.

Comments