์šฐ๊ทœ์ด์ธ์šฐ์œค
Eager To Learn ๐ŸŒŒ
์šฐ๊ทœ์ด์ธ์šฐ์œค
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

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

  • ๐Ÿก ํ™ˆ
  • ๐Ÿš€ ๊นƒํ—ˆ๋ธŒ
  • โ›… ํƒœ๊ทธ ํด๋ผ์šฐ๋“œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (217)
    • ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm ๊ธฐ๋ฒ• (1)
      • ๋ฐ”ํ‚น๋… (21)
    • ๋ธ”๋กœ๊ทธ ์ด์‚ฌ (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • ๊ฐœ๋ฐœ์„œ์  (15)
      • ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ (1)
      • ์˜ค๋ธŒ์ ํŠธ - ์กฐ์˜ํ˜ธ (7)
      • ์นœ์ ˆํ•œ SQL ํŠœ๋‹ (7)
    • ํšŒ๊ณ  (2)
hELLO ยท Designed By ์ •์ƒ์šฐ.
์šฐ๊ทœ์ด์ธ์šฐ์œค

Eager To Learn ๐ŸŒŒ

๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/JAVA

[JAVA] ๋ฐฑ์ค€ 1460๋ฒˆ ใ€์—๋””ํ„ฐใ€‘

2022. 10. 13. 17:40


 

์ด ๋ฌธ์ œ๋Š”, ์Šคํƒ์œผ๋กœ ํ•ด๊ฒฐํ•˜์˜€๋‹ค.

 

์‹œ๊ฐ„ ์ œํ•œ์ด ๊นŒ๋‹ค๋กญ๊ธฐ ๋•Œ๋ฌธ์—, ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์˜€๊ณ 

 

์Šคํƒ์„ ์‚ฌ์šฉํ–ˆ์–ด๋„, ๋งˆ์ง€๋ง‰์— ์ถœ๋ ฅํ•˜๋Š” ๊ณผ์ •์—์„œ println์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค.

 

๋”ฐ๋ผ์„œ BufferedReader ์™€ BufferedWriter๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

 

์ด ๋ฌธ์ œ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 2๊ฐœ์˜ ์Šคํƒ์ด ํ•„์š”ํ•˜๋‹ค.

 

์ปค์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„๋‘˜ ์Šคํƒ๊ณผ ์˜ค๋ฅธ์ชฝ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„๋‘˜ ์Šคํƒ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.

 

์Šคํƒ์˜ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์‚ฌ์ด์ฆˆ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ™œ์šฉํ•˜๊ธฐ ๋งค์šฐ ํŽธํ•˜๋‹ค!!

 

dmih
11
B
B
P x
L
B
B
B
P y
D
D
P z

์˜ˆ์ œ ์ฒ˜๋Ÿผ, ์ž…๋ ฅํ•ด๋ณด๋ฉฐ ์›๋ฆฌ๋ฅผ ํŒŒ์•…ํ•ด๋ณด๊ฒ ๋‹ค.

 

 

๋จผ์ €, ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ dmih ๊ฐ€ ์ž…๋ ฅ๋˜๋ฏ€๋กœ ์—๋””ํ„ฐ ๋ชจ์Šต์€ ์˜ค๋ฅธ์ชฝ๊ณผ ๊ฐ™๊ณ 

 

์ปค์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ ์Šคํƒ์—๋Š” ์œ„์™€ ๊ฐ™์ด ์ž…๋ ฅ์„ ํ•ด์•ผํ•  ๊ฒƒ์ด๋‹ค.

 


 

B๋Š” ์ปค์„œ์˜ ์™ผ์ชฝ ๋ฌธ์ž๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ

 

์™ผ์ชฝ ์Šคํƒ์„ pop ํ•˜๋ฉด ๋  ๊ฒƒ์ด๋‹ค.

 

 


B ๋ช…๋ น์„ ๋‘๋ฒˆํ–ˆ์œผ๋ฏ€๋กœ ์œ„์™€ ๊ฐ™์€ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

 


P x ๋ฅผ ํ–ˆ์œผ๋ฏ€๋กœ ์™ผ์ชฝ ์Šคํƒ์— push ๋ฅผ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 


L ๋ช…๋ น์–ด๋Š” ์ปค์„œ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๋ช…๋ น์ด๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์™ผ์ชฝ ์Šคํƒ์„ pop ํ•œ๋‹ค์Œ์— ์˜ค๋ฅธ์ชฝ ์Šคํƒ์— push ํ•˜๋ฉด ๋œ๋‹ค.

 

๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ pop์„ ์‹คํ–‰ํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— isEmpty๋กœ ์ฒดํฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 


B ๋ช…๋ น์–ด๋Š” ์ž…๋ ฅ๋ ๋•Œ๋งˆ๋‹ค ์™ผ์ชฝ ์Šคํƒ์„ pop ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

๋‹ค๋งŒ, ์™ผ์ชฝ ์Šคํƒ์ด ์ด๋ฏธ ๋น„์–ด์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ ์—ญ์‹œ, pop์„ ์‹คํ–‰ํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— isEmpty๋กœ ์ฒดํฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 


P y ๋ช…๋ น์€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์™ผ์ชฝ ์Šคํƒ์— y๋ฅผ push ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 


D์˜ ๊ฒฝ์šฐ ์ปค์„œ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ธ๋ฐ, ์ด ๊ฒฝ์šฐ๋„ ์˜ค๋ฅธ์ชฝ ์Šคํƒ์„ popํ•ด์ฃผ๋ฉด์„œ popํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์™ผ์ชฝ ์Šคํƒ์— pushํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

์ด ๊ฒฝ์šฐ ์—ญ์‹œ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ pop์„ ์‹คํ–‰ํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— isEmpty๋กœ ์ฒดํฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 


๋งˆ์ง€๋ง‰ P z ๋Š” ์™ผ์ชฝ ์Šคํƒ์— push๋ฅผ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ์€ yxz ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

 

์ถœ๋ ฅํ•˜๋Š” ๊ณผ์ •์—์„œ๋Š” ์Šคํƒ์€ LIFO(ํ›„์ž…์„ ์ถœ) ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์™ผ์ชฝ ์Šคํƒ์— ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ pop ํ•ด์ค€ ํ›„ ์˜ค๋ฅธ์ชฝ ์Šคํƒ์— push ํ•˜๋ฉด,

 

 

์ตœ์ข…์ ์œผ๋กœ ์œ„์™€ ๊ฐ™์€ ๋ชจ์Šต์ด ๋˜๊ณ , ์˜ค๋ฅธ์ชฝ ์Šคํƒ์„ ๋ชจ๋‘ pop ํ•˜๋ฉด, ์›ํ•˜๋Š” [yxz] ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

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

public class Main {
    public static void main(String[] args) throws IOException {

        Stack<Character> lstack = new Stack<>();
        Stack<Character> rstack = new Stack<>();
        //Stack ํƒ€์ž…์„ String์œผ๋กœ ํ•ด๋„ ๋œ๋‹ค.
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        String initialInput = br.readLine();
        
        
        for (int i = 0; i < initialInput.length(); i++) {
            lstack.push(initialInput.charAt(i));
        }
        
        int N = Integer.valueOf(br.readLine());
        
        for (int i = 1; i <= N; i++) {
            String[] input = br.readLine().split(" ");
            if (input[0].equals("L")) {
                if (!lstack.isEmpty())
                    rstack.push(lstack.pop());
            } else if (input[0].equals("D")) {
                if (!rstack.isEmpty()) {
                    lstack.push(rstack.pop());
                }
            } else if (input[0].equals("B")) {
                if (!lstack.isEmpty()) {
                    lstack.pop();
                }
            } else if (input[0].equals("P")) {
                lstack.push(input[1].charAt(0));
            }
        }

        while (!lstack.isEmpty()) {
            rstack.push(lstack.pop());
        }
        while (!rstack.isEmpty()) {
            bw.write(rstack.pop());
        }
        bw.flush();
        bw.close();
    }
}
    '๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JAVA] ๋ฐฑ์ค€ 2146๋ฒˆ ใ€๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐใ€‘
    • [JAVA] ๋ฐฑ์ค€ 1158๋ฒˆ ใ€์š”์„ธํ‘ธ์Šค ๋ฌธ์ œใ€‘
    • [JAVA] ๋ฐฑ์ค€ 10824๋ฒˆ ใ€์ ‘๋ฏธ์‚ฌ ๋ฐฐ์—ดใ€‘
    • [JAVA] ๋ฐฑ์ค€ 10824๋ฒˆ ใ€๋„ค ์ˆ˜ใ€‘
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด

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