[λ°±μ€€/Java] 큐 2 18258

2023. 11. 15. 16:48Β· π™°πš•πšπš˜πš›πš’πšπš‘πš–/π™±πšŠπšŽπš”πš“πš˜πš˜πš—
λͺ©μ°¨
  1. 문제
  2. 풀이
  3. μ •λ‹΅ 
λ°˜μ‘ν˜•

문제

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

풀이

 

"큐2"λŠ” "큐"λΌλŠ” λ¬Έμ œμ—μ„œ "큐의 κ°€μž₯ λ’€μ—μžˆλŠ” μ •μˆ˜λ₯Ό 좜λ ₯ν•œλ‹€" λΌλŠ” κΈ°λŠ₯이 μΆ”κ°€λœ λ¬Έμ œμ΄λ‹€. 

 

 

κ·Έλ ‡κ²Œ ν’€μ—ˆλŠ”λ° μ²˜μŒμ—λŠ” μ‹œκ°„ μ΄ˆκ³Όκ°€ λ–΄λ‹€.

System.out. 으둜 λ°”λ‘œ λ°”λ‘œ 좜λ ₯ν–ˆλŠ”λ°

μ’€ 더 λΉ λ₯Έ BufferedWrtierλ₯Ό μ΄μš©ν•΄μ„œ

담아놨닀가 λΏŒλ €μ£Όμ—ˆλ”λ‹ˆ μ‹œκ°„μ΄ˆκ³Όκ°€ 해결됐닀.

 

그리고 λ‚˜μ„œ λ‹€μ‹œ μ œμΆœν–ˆλŠ”λ° ν‹€λ ΈμŠ΅λ‹ˆλ‹€λΌκ³  λ–΄λ‹€.

μ•Œκ³  λ΄€λ”λ‹ˆ 큐의 κ°€μž₯ λ’€μ—μžˆλŠ” μ •μˆ˜λ₯Ό 좜λ ₯ν•˜κ³  없을 경우 -1을 좜λ ₯ν•˜λΌκ³  ν–ˆλŠ”λ°

-1을 좜λ ₯ν•˜λŠ” if문을 λ§Œλ“€μ§€ μ•Šμ•˜μ—ˆλ‹€.

 

그리고 pop ν•¨μˆ˜λ₯Ό λ§Œλ“€ λ•Œ queue.isEmpty()κ°€ μ•„λ‹Œ queue.size() >0 이라 μΌλŠ”λ°

queue.isEmpty()둜 ν•΄μ•Ό 더 μ •ν™•ν•˜κ³  λ¬Έλ§₯상 λ§žλŠ” λ©”μ†Œλ“œ κ°™λ‹€. 

 

κ·Έλ ‡κ²Œν•΄μ„œ μ œμΆœν–ˆλ”λ‹ˆ "λ§žμŠ΅λ‹ˆλ‹€"라고 λ–΄λ‹€. 

 

 

1. String[] input = br.readLine().split("\\s");

String λ°°μ—΄λ‘œ μž…λ ₯κ°’ λ°›κΈ° 

package algorithm;

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

public class Main {

    // μ •μˆ˜ xλ₯Ό 큐에 λ„£κΈ°
    public int pushNum(Queue<Integer> queue, int num) {
        queue.offer(num);
        return num;
    }

    // νμ—μ„œ κ°€μž₯ μ•žμ— μžˆλŠ” μ •μˆ˜ 좜λ ₯, 없을 경우 -1 좜λ ₯
    public int getFront(Queue<Integer> queue) {
        if (queue.isEmpty()) {
            return -1;
        } else {
            return queue.peek();
        }
    }

    // 큐의 κ°€μž₯ 뒀에 μžˆλŠ” μ •μˆ˜ 좜λ ₯, 없을 경우 -1 좜λ ₯
    public int getBack(Queue<Integer> queue, int back) {
        if (queue.isEmpty()) {
            return -1;
        } else {
            return back;
        }
    }

    // 큐에 λ“€μ–΄μžˆλŠ” μ •μˆ˜μ˜ 개수
    public int getSize(Queue<Integer> queue) {
        return queue.size();
    }

    // 큐가 λΉ„μ–΄μžˆμœΌλ©΄ 1, μ•„λ‹ˆλΌλ©΄ 0
    public int getEmpty(Queue<Integer> queue) {
        if (queue.isEmpty()) {
            return 1;
        } else {
            return 0;
        }
    }

    // 큐 μ‚­μ œν•˜κΈ°
    public int popFront(Queue<Integer> queue) {
        if (queue.isEmpty()) {
            return -1;
        } else {
            return queue.poll();
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        Queue<Integer> queue = new LinkedList<>();
        int current = 0;
        Main queueCalc = new Main();

        int n = Integer.parseInt(br.readLine());
        for (int i = 0; i < n; i++) {
            String[] input = br.readLine().split("\\s");

            switch (input[0]) {
                case "push":
                    current = queueCalc.pushNum(queue, Integer.parseInt(input[1]));
                    break;
                case "front":
                    bw.write(queueCalc.getFront(queue) + "\n");
                    break;
                case "back":
                    bw.write(queueCalc.getBack(queue, current) + "\n");
                    break;
                case "size":
                    bw.write(queueCalc.getSize(queue) + "\n");
                    break;
                case "empty":
                    bw.write(queueCalc.getEmpty(queue) + "\n");
                    break;
                case "pop":
                    bw.write(queueCalc.popFront(queue) + "\n");
                    break;
            }
        }
        bw.flush();
        bw.close();

    }
}

 

 

 

 

 

 

2.  StringTokenizer st = new StringTokenizer(br.readLine());

String command = st.nextToken();

λ°”λ‘œ nextToken()으둜 λ°›κΈ° 

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

public class Main {

    // μ •μˆ˜ xλ₯Ό 큐에 λ„£κΈ°
    public int pushNum(Queue<Integer> queue, int num) {
        queue.offer(num);
        return num;
    }

    // νμ—μ„œ κ°€μž₯ μ•žμ— μžˆλŠ” μ •μˆ˜ 좜λ ₯, 없을 경우 -1 좜λ ₯
    public int getFront(Queue<Integer> queue) {
        if (queue.isEmpty()) {
            return -1;
        } else {
            return queue.peek();
        }
    }

    // 큐의 κ°€μž₯ 뒀에 μžˆλŠ” μ •μˆ˜ 좜λ ₯, 없을 경우 -1 좜λ ₯
    public int getBack(Queue<Integer> queue, int back) {
        if (queue.isEmpty()) {
            return -1;
        } else {
            return back;
        }
    }

    // 큐에 λ“€μ–΄μžˆλŠ” μ •μˆ˜μ˜ 개수
    public int getSize(Queue<Integer> queue) {
        return queue.size();
    }

    // 큐가 λΉ„μ–΄μžˆμœΌλ©΄ 1, μ•„λ‹ˆλΌλ©΄ 0
    public int getEmpty(Queue<Integer> queue) {
        if (queue.isEmpty()) {
            return 1;
        } else {
            return 0;
        }
    }

    // 큐 μ‚­μ œν•˜κΈ°
    public int popFront(Queue<Integer> queue) {
        if (queue.isEmpty()) {
            return -1;
        } else {
            return queue.poll();
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        Queue<Integer> queue = new LinkedList<>();
        int current = 0;
        Main queueCalc = new Main();

        int n = Integer.parseInt(br.readLine());
        
        for (int i = 0; i < n; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            String command = st.nextToken();
            
            switch (command) {
                case "push":
                    current = queueCalc.pushNum(queue, Integer.parseInt(st.nextToken()));
                    break;
                case "front":
                    bw.write(queueCalc.getFront(queue) + "\n");
                    break;
                case "back":
                    bw.write(queueCalc.getBack(queue, current) + "\n");
                    break;
                case "size":
                    bw.write(queueCalc.getSize(queue) + "\n");
                    break;
                case "empty":
                    bw.write(queueCalc.getEmpty(queue) + "\n");
                    break;
                case "pop":
                    bw.write(queueCalc.popFront(queue) + "\n");
                    break;
            }
        }
        bw.flush();
        bw.close();

    }
}

 

 

 

 

 

 

 

 

 

 

μ •λ‹΅ 

1.

 

2.

2번이 더 λΉ λ₯΄λ‹€. 

 

 

 

 

 

λ°˜μ‘ν˜•

'π™°πš•πšπš˜πš›πš’πšπš‘πš– > π™±πšŠπšŽπš”πš“πš˜πš˜πš—' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[λ°±μ€€/Java] λ³΅ν˜Έν™” 9046  (0) 2023.11.18
[λ°±μ€€/Java] 풍선 ν„°λœ¨λ¦¬κΈ° 2346  (0) 2023.11.17
[λ°±μ€€/Java] μ°½μ˜λ§ˆμ„ 3028  (0) 2023.11.13
[λ°±μ€€/Java] κ²½κ³  3029  (1) 2023.11.12
[λ°±μ€€/Java] ν΄λ¦¬μ˜€λ―Έλ…Έ 1343  (0) 2023.11.10
  1. 문제
  2. 풀이
  3. μ •λ‹΅ 
'π™°πš•πšπš˜πš›πš’πšπš‘πš–/π™±πšŠπšŽπš”πš“πš˜πš˜πš—' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [λ°±μ€€/Java] λ³΅ν˜Έν™” 9046
  • [λ°±μ€€/Java] 풍선 ν„°λœ¨λ¦¬κΈ° 2346
  • [λ°±μ€€/Java] μ°½μ˜λ§ˆμ„ 3028
  • [λ°±μ€€/Java] κ²½κ³  3029
ν•΄λ²„λ‹ˆ
ν•΄λ²„λ‹ˆ
κ°œλ°œν•˜λ©΄μ„œ 배운 것듀을 κΈ°λ‘ν•©λ‹ˆλ‹€.
ν•΄λ²„λ‹ˆ
DevNight
ν•΄λ²„λ‹ˆ
전체
였늘
μ–΄μ œ
  • 전체보기 (195)
    • πšπšŽπšπš›πš˜πšœπš™πšŽπšŒπšπš’πšŸπšŽπšœ (5)
      • πšƒπš’πš™πšœ (2)
      • 회고 (3)
      • μ‹€μˆ˜ λͺ¨μŒμ§‘ (0)
    • π™Ώπš›πš˜πš“πšŽπšŒπš (3)
      • π™Ίπ™Ύπš‚πšƒπ™° πš†πšŽπš‹ π™Ώπš›πš˜πš“πšŽπšŒπš (2)
    • π™Ώπš›πš˜πšπš›πšŠπš–πš–πš’πš—πš π™»πšŠπš—πšπšžπšŠπšπšŽ (16)
      • π™·πšƒπ™Όπ™» (6)
      • π™²πš‚πš‚ (1)
      • π™Ήπ™°πš…π™° (1)
      • π™ΉπšŠπšŸπšŠπš‚πšŒπš›πš’πš™πš (7)
      • πšƒπš’πš™πšŽπš‚πšŒπš›πš’πš™πš (1)
    • π™±πšŠπšŒπš”πšŽπš—πš (1)
      • πš‚πš™πš›πš’πš—πš π™±πš˜πš˜πš (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
  • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€
  • λ°°μ—΄
  • μ˜€λΈ”μ™„
  • Java
  • database
  • ν‹°μŠ€ν† λ¦¬μ±Œλ¦°μ§€
  • μžλ°”
  • web
  • JavaScript
  • PostgreSQL
  • 이클립슀
  • μžλ°”μŠ€ν¬λ¦½νŠΈ
  • spring
  • html
  • μ½”λ”©ν…ŒμŠ€νŠΈ
  • μžλ°”μ˜μ •μ„
  • React

졜근 λŒ“κΈ€

졜근 κΈ€

hELLO Β· Designed By μ •μƒμš°.v4.3.0
ν•΄λ²„λ‹ˆ
[λ°±μ€€/Java] 큐 2 18258
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.