[๋ฐฑ์ค€/Java] ๋ฑ 10866

2023. 11. 22. 09:45ยท ๐™ฐ๐š•๐š๐š˜๐š›๐š’๐š๐š‘๐š–/๐™ฑ๐šŠ๐šŽ๐š”๐š“๐š˜๐š˜๐š—
๋ชฉ์ฐจ
  1. ๋ฌธ์ œ
  2. ํ’€์ด
  3. ์ •๋‹ต
๋ฐ˜์‘ํ˜•

 

 

๋ฌธ์ œ

https://www.acmicpc.net/problem/10866

 

10866๋ฒˆ: ๋ฑ

์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์˜ ์ˆ˜ N (1 โ‰ค N โ‰ค 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ช…๋ น์ด ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋ฌธ์ œ์— ๋‚˜์™€์žˆ์ง€

www.acmicpc.net

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ํ’€์ด

๋ฑ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ˆ™์ง€ํ•˜๋ฉด ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. 

 

 

๋ฑ ์‚ฌ์šฉ๋ฒ• 

https://dovnaldisn.tistory.com/96

 

[์ž๋ฃŒ๊ตฌ์กฐ] ๋ฑ(Deque)

๋ฑ(Deque)์ด๋ž€? ์–‘์ชฝ ๋์—์„œ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์„ ์ž…์„ ์ถœ(FIFO), ํ›„์ž…์„ ์ถœ(LIFO) ๊ฐœ๋…์ด ๋ชจ๋‘ ์ ์šฉ์ด ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. Java์—์„œ Deque์€ java.util.Deque ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ด์šฉํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜

dovnaldisn.tistory.com

 

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Deque;
import java.util.LinkedList;

public class Main {
    /**
     * ์ •์ˆ˜ X๋ฅผ ๋ฑ์˜ ์•ž์— ๋„ฃ๋Š”๋‹ค.
     * 
     * @param x
     * @param deque
     */
    public void pushFront(int x, Deque<Integer> deque) {
        deque.offerFirst(x);
    }

    /**
     * ์ •์ˆ˜ X๋ฅผ ๋ฑ์˜ ๋’ค์— ๋„ฃ๋Š”๋‹ค.
     * 
     * @param x
     * @param deque
     */
    public void pushBack(int x, Deque<Integer> deque) {
        deque.offerLast(x);
    }

    /**
     * ๋ฑ์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ˆ˜ ๋นผ๊ธฐ, ์—†๋Š” ๊ฒฝ์šฐ -1
     * 
     * @param deque
     * @return
     */
    public int popFront(Deque<Integer> deque) {
        if (deque.isEmpty()) {
            return -1;
        } else {
            return deque.pollFirst();
        }
    }

    /**
     * ๋ฑ์˜ ๊ฐ€์žฅ ๋’ค์— ์žˆ๋Š” ์ˆ˜ ๋นผ๊ธฐ, ์—†๋Š” ๊ฒฝ์šฐ -1
     * 
     * @param deque
     * @return
     */
    public int popBack(Deque<Integer> deque) {
        if (deque.isEmpty()) {
            return -1;
        } else {
            return deque.pollLast();
        }
    }

    /**
     * ๋ฑ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜
     * 
     * @param deque
     * @return
     */
    public int dequeSize(Deque<Integer> deque) {
        return deque.size();
    }

    /**
     * ๋ฑ์ด ๋น„์–ด์žˆ์œผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0
     * 
     * @param deque
     * @return
     */
    public int empty(Deque<Integer> deque) {
        if (deque.isEmpty()) {
            return 1;
        } else {
            return 0;
        }
    }

    /**
     * ๋ฑ์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ •์ˆ˜ ์ถœ๋ ฅ, ์—†๋Š” ๊ฒฝ์šฐ -1 ์ถœ๋ ฅ
     * 
     * @param deque
     * @return
     */
    public int viewFront(Deque<Integer> deque) {
        if (deque.isEmpty()) {
            return -1;
        } else {
            return deque.peekFirst();
        }
    }

    /**
     * ๋ฑ์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์ •์ˆ˜ ์ถœ๋ ฅ, ์—†๋Š” ๊ฒฝ์šฐ -1 ์ถœ๋ ฅ
     * 
     * @param deque
     * @return
     */
    public int viewBack(Deque<Integer> deque) {
        if (deque.isEmpty()) {
            return -1;
        } else {
            return deque.peekLast();
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        Main m = new Main();
        Deque<Integer> deque = new LinkedList<>();

        int num = Integer.parseInt(br.readLine());
        int number;

        for (int i = 0; i < num; i++) {
            String input = br.readLine();
            String[] inputStr = input.split(" ");

            switch (inputStr[0]) {
                case "push_front":
                    m.pushFront(Integer.parseInt(inputStr[1]), deque);
                    break;
                case "push_back":
                    m.pushBack(Integer.parseInt(inputStr[1]), deque);
                    break;
                case "pop_front":
                    number = m.popFront(deque);
                    bw.write(String.valueOf(number) + "\n");
                    break;
                case "pop_back":
                    number = m.popBack(deque);
                    bw.write(String.valueOf(number) + "\n");
                    break;
                case "size":
                    number = m.dequeSize(deque);
                    bw.write(String.valueOf(number) + "\n");
                    break;
                case "empty":
                    number = m.empty(deque);
                    bw.write(String.valueOf(number) + "\n");
                    break;
                case "front":
                    number = m.viewFront(deque);
                    bw.write(String.valueOf(number) + "\n");
                    break;
                case "back":
                    number = m.viewBack(deque);
                    bw.write(String.valueOf(number) + "\n");
                    break;
            }
        }

        bw.flush();
        bw.close();
    }
}

 

 

 

 

 

 

 

 

 

 

์ •๋‹ต

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•

'๐™ฐ๐š•๐š๐š˜๐š›๐š’๐š๐š‘๐š– > ๐™ฑ๐šŠ๐šŽ๐š”๐š“๐š˜๐š˜๐š—' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€/Java] ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 3 16935  (1) 2023.11.27
[๋ฐฑ์ค€/Java] ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ 2174  (1) 2023.11.26
[๋ฐฑ์ค€/Java] ๋ณตํ˜ธํ™” 9046  (0) 2023.11.18
[๋ฐฑ์ค€/Java] ํ’์„  ํ„ฐ๋œจ๋ฆฌ๊ธฐ 2346  (0) 2023.11.17
[๋ฐฑ์ค€/Java] ํ 2 18258  (0) 2023.11.15
  1. ๋ฌธ์ œ
  2. ํ’€์ด
  3. ์ •๋‹ต
'๐™ฐ๐š•๐š๐š˜๐š›๐š’๐š๐š‘๐š–/๐™ฑ๐šŠ๐šŽ๐š”๐š“๐š˜๐š˜๐š—' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€/Java] ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 3 16935
  • [๋ฐฑ์ค€/Java] ๋กœ๋ด‡ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ 2174
  • [๋ฐฑ์ค€/Java] ๋ณตํ˜ธํ™” 9046
  • [๋ฐฑ์ค€/Java] ํ’์„  ํ„ฐ๋œจ๋ฆฌ๊ธฐ 2346
ํ•ด๋ฒ„๋‹ˆ
ํ•ด๋ฒ„๋‹ˆ
๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋ฐฐ์šด ๊ฒƒ๋“ค์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
ํ•ด๋ฒ„๋‹ˆ
DevNight
ํ•ด๋ฒ„๋‹ˆ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ์ „์ฒด๋ณด๊ธฐ (194)
    • ๐š๐šŽ๐š๐š›๐š˜๐šœ๐š™๐šŽ๐šŒ๐š๐š’๐šŸ๐šŽ๐šœ (5)
      • ๐šƒ๐š’๐š™๐šœ (2)
      • ํšŒ๊ณ  (3)
      • ์‹ค์ˆ˜ ๋ชจ์Œ์ง‘ (0)
    • ๐™ฟ๐š›๐š˜๐š“๐šŽ๐šŒ๐š (3)
      • ๐™บ๐™พ๐š‚๐šƒ๐™ฐ ๐š†๐šŽ๐š‹ ๐™ฟ๐š›๐š˜๐š“๐šŽ๐šŒ๐š (2)
    • ๐™ฟ๐š›๐š˜๐š๐š›๐šŠ๐š–๐š–๐š’๐š—๐š ๐™ป๐šŠ๐š—๐š๐šž๐šŠ๐š๐šŽ (16)
      • ๐™ท๐šƒ๐™ผ๐™ป (6)
      • ๐™ฒ๐š‚๐š‚ (1)
      • ๐™น๐™ฐ๐š…๐™ฐ (1)
      • ๐™น๐šŠ๐šŸ๐šŠ๐š‚๐šŒ๐š›๐š’๐š™๐š (7)
      • ๐šƒ๐šข๐š™๐šŽ๐š‚๐šŒ๐š›๐š’๐š™๐š (1)
    • ๐™ฑ๐šŠ๐šŒ๐š”๐šŽ๐š—๐š (4)
      • ๐š‚๐š™๐š›๐š’๐š—๐š ๐™ฑ๐š˜๐š˜๐š (0)
      • Spring (2)
      • ํŒŒ์ผ ์ฒ˜๋ฆฌ (1)
      • ๐™น๐š‚๐™ฟ (1)
    • ๐™ต๐š›๐š˜๐š—๐š๐šŽ๐š—๐š (5)
      • ๐š๐šŽ๐šŠ๐šŒ๐š (3)
      • ๐š…๐šž๐šŽ.๐š“๐šœ (2)
    • ๐™ฐ๐š•๐š๐š˜๐š›๐š’๐š๐š‘๐š– (32)
      • ๐™ฟ๐š›๐š˜๐š๐š›๐šŠ๐š–๐š–๐šŽ๐š›๐šœ (6)
      • ๐™ฑ๐šŠ๐šŽ๐š”๐š“๐š˜๐š˜๐š— (24)
    • ๐™ณ๐™ฐ๐šƒ๐™ฐ๐™ฑ๐™ฐ๐š‚๐™ด (16)
      • ๐š‚๐š€๐™ป (1)
      • ๐™ฟ๐š˜๐šœ๐š๐š๐š›๐šŽ๐š‚๐š€๐™ป (1)
      • ๐™ผ๐šข๐š‚๐š€๐™ป (3)
      • ๐™พ๐š›๐šŠ๐šŒ๐š•๐šŽ (0)
      • ๐™ฟ๐š›๐š˜๐š๐š›๐šŠ๐š–๐š–๐šŽ๐š›๐šœ (1)
    • ๐™ณ๐šŽ๐šŸ๐šŽ๐š•๐š˜๐š™๐š–๐šŽ๐š—๐š ๐šƒ๐š˜๐š˜๐š•๐šœ (4)
      • ๐™ธ๐š—๐š๐šŽ๐š•๐š•๐š’๐™น (0)
      • ๐™ด๐šŒ๐š•๐š’๐š™๐šœ๐šŽ (1)
      • ๐š…๐š‚๐™ฒ๐š˜๐š๐šŽ (0)
      • ๐™ฑ๐šž๐š’๐š•๐š ๐š‚๐šŒ๐š›๐š’๐š™๐š๐šœ (1)
    • ๐š…๐šŽ๐š›๐šœ๐š’๐š˜๐š— ๐™ฒ๐š˜๐š—๐š๐š›๐š˜๐š• (0)
      • ๐™ถ๐š’๐š (0)
      • ๐™ถ๐š’๐š๐™ท๐šž๐š‹ (0)
      • ๐š‚๐š…๐™ฝ (0)
    • ๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ (2)
      • ๐™ฐ๐š†๐š‚ (2)
    • ๐™ธ๐šƒ (15)
      • ๐š‚๐š…๐™ฝ (3)
    • ๐™น๐šŠ๐šŸ๐šœ๐š‚๐šŒ๐š›๐š’๐š™๐š (4)
      • ๐š…๐šž๐šŽ.๐š“๐šœ (0)
    • ๐š†๐šŽ๐š‹ (9)
      • ๐šŠ๐š ๐šœ (0)
      • ๐™ท๐šƒ๐™ผ๐™ป (0)
      • ๐™ฒ๐š‚๐š‚ (2)
    • ๐™น๐šŠ๐šŸ๐šŠ (56)
      • ๐š‚๐š™๐š›๐š’๐š—๐š ๐™ฑ๐š˜๐š˜๐š (3)
    • ๐™ถ๐š’๐š๐™ท๐šž๐š‹ (10)
    • ํ™˜๊ฒฝ์„ค์ • (10)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • php
  • spring
  • html
  • React
  • database
  • ์ž๋ฐ”์˜์ •์„
  • ์ดํด๋ฆฝ์Šค
  • Java
  • PostgreSQL
  • ๋ฐฑ์ค€
  • ๋ฐฐ์—ด
  • ์˜ค๋ธ”์™„
  • ์ž๋ฐ”
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
  • JavaScript
  • web
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.3.0
ํ•ด๋ฒ„๋‹ˆ
[๋ฐฑ์ค€/Java] ๋ฑ 10866
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.