본문 바로가기
알고리즘 & 자료구조/백준

백준 1158

by 신재권 2021. 8. 7.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;


public class Main1158 {

	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		Queue<Integer> queue= new LinkedList<Integer>();
		
		String str = br.readLine();
		StringTokenizer st = new StringTokenizer(str);

		int N = Integer.parseInt(st.nextToken()); // N명 입력
		int K = Integer.parseInt(st.nextToken()); // K번째 입력
		StringBuilder sb = new StringBuilder();
		
		//출력 규칙 맞추기
		sb.append("<");
		
		//사람 큐에 넣기
		for(int i=1; i<=N; i++){
			queue.add(i);
		}
		
		
		for(int i=0; i<N; i++){ // N번 반복하면 N번의 사람을 뺄 수 있다.
			for(int j=0; j<K-1; j++){//K번째 사람을 구하기 위해 반복 
				//1 . pop-push를 k-1번까지 반복
				queue.add(queue.poll()); 
				
			}
			//2. k번째에는 pop만 하여 제거 
			if(i == N-1){ //마지막 순서일때는 
				sb.append(queue.poll()).append(">");
			}else{
				 sb.append(queue.poll()).append(", ");
			}
		}//for문 종료
		
		bw.write(sb.toString());
		bw.close();
		br.close();

	}

}

'알고리즘 & 자료구조 > 백준' 카테고리의 다른 글

백준 17413  (0) 2021.08.09
백준 10866  (0) 2021.08.07
백준 10845  (0) 2021.08.06
백준 1406  (0) 2021.08.05
백준 1874  (0) 2021.08.05