[알고리즘/백준] 11866번 : 요세푸스 문제 0(Java)

2025. 6. 8. 00:12·Programming/Algorithm
728x90
문제 11866번 : 요세푸스 문제 0
문제링크 https://www.acmicpc.net/problem/11866
난이도 S4
언어 Java
분류 구현, 자료구조, 큐

 

 

📌 최종 정답 코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        // 입력 파싱 (한 줄에 N과 K가 주어짐)
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken()); // 사람 수
        int K = Integer.parseInt(st.nextToken()); // 제거할 순번

        // 1부터 N까지 큐에 넣기
        Queue<Integer> queue = new LinkedList<>();
        for (int i = 1; i <= N; i++) {
            queue.offer(i);
        }

        // 결과를 문자열 형태로 저장
        StringBuilder sb = new StringBuilder();
        sb.append("<");

        // 큐에서 하나씩 제거하면서 요세푸스 순열 만들기
        while (queue.size() > 1) {
            // 앞에서 K-1개를 뒤로 보냄
            for (int i = 0; i < K - 1; i++) {
                queue.offer(queue.poll());
            }
            // K번째 사람 제거
            sb.append(queue.poll()).append(", ");
        }

        // 마지막 남은 사람 추가 (콤마 없이)
        sb.append(queue.poll()).append(">");

        // 결과 출력
        bw.write(sb.toString());
        bw.newLine();

        // 스트림 닫기
        br.close();
        bw.flush();
        bw.close();
    }
}


📌 구해야 하는 정답

- 예제와 같이 요세푸스 순열을 출력


📌 코드 설계하기

 

 

 

 

728x90

'Programming > Algorithm' 카테고리의 다른 글

[알고리즘/코드트리] - 청약통장 4주차 : 갭체크로 마주한 나의 코테 약점과 남은 3주 목표 설정 (feat. 추천인 : minisol206 or 74TXLJ) 후기  (0) 2026.05.28
[알고리즘/백준] 21일 챌린지 후기 - 기본반A  (0) 2025.06.08
[알고리즘/백준] 2193번 : 이친수(Java)  (1) 2025.06.07
[알고리즘/백준] 2303번 : 숫자 게임(Java)  (4) 2025.06.06
[알고리즘/백준] 5567번 : 결혼식(Java)  (0) 2025.06.05
'Programming/Algorithm' 카테고리의 다른 글
  • [알고리즘/코드트리] - 청약통장 4주차 : 갭체크로 마주한 나의 코테 약점과 남은 3주 목표 설정 (feat. 추천인 : minisol206 or 74TXLJ) 후기
  • [알고리즘/백준] 21일 챌린지 후기 - 기본반A
  • [알고리즘/백준] 2193번 : 이친수(Java)
  • [알고리즘/백준] 2303번 : 숫자 게임(Java)
min_sol
min_sol
  • min_sol
    비글개발연구소🐾
    min_sol
  • 전체
    오늘
    어제
    • 분류 전체보기 (291)
      • Programming (132)
        • Algorithm (56)
        • JAVA (40)
        • GIS (5)
        • PyQt (10)
        • C# (11)
        • Mobile (6)
        • AI (4)
      • Backend (41)
        • Spring (19)
        • JSP (11)
        • Network (5)
      • Frontend (30)
        • Nexacro (1)
        • React (11)
        • Vue (13)
        • Next.js (4)
      • Database (11)
        • PostgreSQL (1)
        • Oracle (8)
        • Elasticsearch (1)
      • DevOps (10)
        • Linux (7)
        • Mac (1)
        • AWS (1)
      • Tools (32)
        • IntelliJ (1)
        • VSCode (1)
        • GitHub (10)
        • RPA (20)
      • Security (9)
      • etc (22)
        • ERROR (5)
        • 세미나 | 교육 (11)
        • 자격증 (1)
        • 일상 (2)
        • 2021 (2)
  • 인기 글

  • 태그

    명품자바에센셜
    PyQt5
    이클립스
    연습문제
    알고리즘
    생능출판
    spring
    jsp
    자동화
    RPA
    스윙
    계산기
    코딩테스트
    자바
    PyQt
    VUE
    백준
    자료구조
    Java
    vue.js
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
min_sol
[알고리즘/백준] 11866번 : 요세푸스 문제 0(Java)
상단으로

티스토리툴바