새소식

반응형
250x250
Baekjoon/Silver

[백준] 스택, 큐 - 216_카드 2 Java[자바]

  • -
728x90
반응형

 

이번 문제는 큐의 자료구조를 파악하는 문제이다.

 

큐는 First In First Out으로 처음 넣는 값을 처음으로 뺄 수 있는 자료구조이다.

 

그래서 이번 문제는 어렵지 않다고 볼 수 있다.

 

주어진 숫자만큼 큐에 넣어준다. 

 

예를 들어 6이면 1 2 3 4 5 6 순서로 큐에 넣어준다.

 

여기서 1을 poll() 메소드로 꺼내오고 2를 6뒤에 붙이려면

 

que.add(que.poll())의 형식으로 붙일 수 있다.

 

이 과정을 큐 안에 데이터가 하나만 남을 때까지 반복하면 쉽게 답을 구할 수 있다.

 

아래 코드를 보자.

 

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Queue<Integer> que = new LinkedList<>();
        int N = Integer.parseInt(br.readLine());
        for(int i = 1; i <= N; i++) {
            que.add(i);
        }
        while(que.size() != 1) {
            que.poll();
            que.add(que.poll());
        }
        System.out.println(que.peek());
    }
}
728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.