백준_요세푸스 문제(1158번)

tth-k·2023년 8월 11일

0base_tth

목록 보기
6/9

문제

입출력 및 예제들

코드작성

import java.util.Scanner;
import java.util.LinkedList;
import java.util.Queue;
 
public class Main {
 
	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		Queue<Integer> q = new LinkedList<>();
		
		int N = in.nextInt();
		int K = in.nextInt();
		
		
		for(int i = 1; i <= N; i++) {
			q.add(i);
		}
		
		StringBuilder sb = new StringBuilder();
		sb.append('<');
		
		/*
		 *  마지막 부분의 출력은 > 괄호 전에 공백이 없기 때문에
		 *  일괄적으로 출력하기 위해 마지막 원소만 남겨질 때까지만
		 *  반복하고 마지막 원소는 그대로 출력함
		 */
         
		while(q.size() > 1) {
			
			for(int i = 0; i < K - 1; i++) {
				int value = q.poll();
				q.offer(value);
			}
			
			sb.append(q.poll()).append(", ");
		}
 
		// 마지막 원소 출력한 뒤 > 도 추가
		sb.append(q.poll()).append('>');
		System.out.println(sb);
	}
 
}
profile
백엔드 취준생 / 코린이 ヾ(≧▽≦*)o

0개의 댓글