[Java] BOJ 11866: 요세푸스 문제, 큐

2025. 2. 5. 02:05·Engineering Notes/CS & Algorithms
// https://www.acmicpc.net/problem/11866

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

public class Problem11866 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();

        Queue<Integer> q = new LinkedList<>();
        for (int i = 1; i <= n; i++) {
            q.add(i);
        }

        System.out.print("<");

        while (q.size() > 1) {
            for (int i = 1; i < k; i++) {
                q.add(q.poll());
            }
            System.out.print(q.poll() + ", ");
        }

        System.out.print(q.poll() + ">");
    }
}

▶ 문제를 보자마자 일단 큐가 생각났고, 그래서 큐를 사용해 직접 풀어보았다. 그런데 요세푸스 문제에 대해 찾아보니, 큐를 사용하는 방법 외에도 좋은 방법들이 많았다. 지금 내가 작성한 코드는 시간복잡도가 O(n * k)이므로 효율적인 알고리즘은 아니라고 판단한다. 추후 개선된 코드로 다시 작성하도록 하겠다.

'Engineering Notes > CS & Algorithms' 카테고리의 다른 글

최적화 문제를 위한 DP (탑다운, 바텀업 방식)  (1) 2025.02.28
그래프 탐색 알고리즘 BFS 풀이  (0) 2025.02.27
[Java] BOJ 4134: 에라토스테네스의 체  (1) 2025.02.04
[Java] BOJ 10814: 나이순 정렬, 2차원 배열  (4) 2025.01.22
[Java] BOJ 11650: 람다 표현식, 정렬 조건 부여하기  (3) 2025.01.16
'Engineering Notes/CS & Algorithms' 카테고리의 다른 글
  • 최적화 문제를 위한 DP (탑다운, 바텀업 방식)
  • 그래프 탐색 알고리즘 BFS 풀이
  • [Java] BOJ 4134: 에라토스테네스의 체
  • [Java] BOJ 10814: 나이순 정렬, 2차원 배열
UTACT
UTACT
시작은 가볍게 이유는 무겁게
  • UTACT
    Software Engineer
    UTACT
    • GitHub
  • 전체
    오늘
    어제
  • 공지사항

    • README
  • 최근 글

    • 분류 전체보기 (126)
      • Project Logs (2)
        • DashHub (2)
        • Re:Act (0)
        • Samsung NW (0)
      • Engineering Notes (76)
        • Java & Spring (44)
        • Database & Persistence (1)
        • DevOps & Infra (4)
        • CS & Algorithms (26)
        • Security (1)
      • Reflections (5)
        • Retrospectives (1)
        • Feedback Received (3)
        • Challenges (1)
      • Tips (24)
      • Archive (19)
  • 태그

    도커
    인접 노드 리스트
    where-was-i
    Data Type
    cherry-pick
    heapify
    IntelliJ
    버프 슈트
    REST
    iamdefinitelyabackenddeveloper
    토스페이먼츠
    BFS
    heap
    DS
    hate-cnu
    듀얼 피봇 퀵 정렬
    BOJ
    데이터 영속성
    OOP
    JPA
    vite
    타입 소거
    VS Code
    .prettierrc
    Reallocation
    @CreatedDate
    Array
    팀 정렬
    Python
    CS
  • hELLO· Designed By정상우.v4.10.6
UTACT
[Java] BOJ 11866: 요세푸스 문제, 큐
상단으로

티스토리툴바