• Home

My Codegate

  • Home

백준 2164 카드2 자바 문제풀이

2023/12/18 Posted by Codegate Java No Comments
백준 2164 카드2 자바 문제풀이

문제 링크

문제 내용은 입력으로 수를 받은 뒤 1부터 N까지 넣어주고, 이후 1부터 차례대로 뽑아주되 처음에는 뽑아내고 다음 수는 맨 뒤로 보내는 식으로 해서 마지막 남는 하나의 수를 출력하면 끝이다

package backjoon.solutions;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Queue;

public class Main {

  public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int count = Integer.parseInt(br.readLine());

    Queue<Integer> queue = new ArrayDeque<>();
    for (int i = 1; i <= count; i++) {
      queue.add(i);
    }

    while (queue.size() > 1) {
      queue.poll();
      queue.add(queue.peek());
      queue.poll();
    }
    System.out.println(queue.poll());

  }
}

문제풀이는 1부터 입력받은 수까지 Queue에 담아준 후, 큐에 하나만 남을 때까지 위 규칙에 맞춰서 빼줘야 하는데, 한번 빼고 그 다음 값을 맨 뒤로 넣어준 뒤, 또 빼는 식으로 계속 진행해주면서 하나만 남을때까지 돌려준 후 마지막 값을 출력해주면 끝이다.

No Comments
0

Leave a Reply Cancel Reply

Introduction

My Codegate

Latest Posts

  • Google Search Console API 연동방법
  • 인텔리제이 Gradle Dependency 최신 버전 보는 방법
  • Wallet-Tracker 개발일지
  • Moralis API 자바로 호출방법
  • IntelliJ Commit 후 Push 따로 하는 방법

Categories

  • My Project (4)
  • Java (42)
  • Algorithm (161)
    • Java (152)
    • Algorithm Knowledge (3)
    • Algorithm site usage (6)
  • Vue.js (1)
  • Spring (4)
  • Docker (2)
  • IntelliJ (20)
  • Uncategorized (7)

Recent Comments

  • Codegate on Hello world!
  • A WordPress Commenter on Hello world!

© 2025 — mycodegate.com

Prev Next