https://www.acmicpc.net/problem/11866
11866번: 요세푸스 문제 0
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)
www.acmicpc.net
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder("<");
int n = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
ArrayList<Integer> cir = new ArrayList<>();
for(int i=0; i<n; i++) {
cir.add(i+1);
}
int target = k-1;
while(true) {
if(cir.size()==1) {
sb.append(cir.remove(0)+">");
break;
}
int t = cir.remove(target);
sb.append(t+", ");
target+=k-1;
if(cir.size()<=target) {
while(target>=cir.size()) {
target-=cir.size();
}
}
}
bw.write(sb+"");
bw.close();
}
}
'백준' 카테고리의 다른 글
백준 스택 - 10773번 : 제로 (0) | 2022.03.03 |
---|---|
백준 스택 - 4949번 : 균형잡힌 세상 (0) | 2022.03.03 |
백준 덱 - 10866번 : 덱 (0) | 2022.03.03 |
백준 큐 - 10845번 : 큐 (0) | 2022.03.03 |
백준 스택 - 10828번 : 스택 (0) | 2022.03.03 |