코딩테스트/백준
백준 1158 : 요세푸스 문제 _자바 Java
플래시🦥
2023. 1. 11. 19:04
반응형
https://www.acmicpc.net/problem/1158
1158번: 요세푸스 문제
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,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));
String str= br.readLine();
StringTokenizer st = new StringTokenizer(str," ");
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
Queue<Integer> qu = new LinkedList<>();
StringBuilder sb = new StringBuilder();
for(int i=1;i<N+1;i++) {
qu.add(i);
}
sb.append("<");
while(qu.size()!=1) {
for(int i=0;i<K-1;i++) {
qu.add(qu.poll());
}
sb.append(qu.poll()+", ");
}
sb.append(qu.poll()+">");
System.out.println(sb.toString());
}
}
바보같이 제거되기 전에 넘어가는 사람을 두명씩 고정해놨다가 왜 틀렸는지 눈치도 못채고 다른것만 이것저것 만져보다가 세번째만에 실수 발견했다ㅋㅋㅋ
for문으로 감싸서 넘기는 걸로 수정하고 성공해서 네번째 만에 성공..ㅎㅎ
728x90
반응형