코딩테스트/백준

백준 1158 : 요세푸스 문제 _자바 Java

플래시🦥 2023. 1. 11.
반응형

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
반응형

댓글