1 ๋ถ„ ์†Œ์š”

๐Ÿ“ [S3_17413] ๋‹จ์–ด ๋’ค์ง‘๊ธฐ 2

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;

public class Main {
    static StringTokenizer st;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        String str = br.readLine();
        Stack<Character> stack = new Stack<Character>();
        // <> ์•ˆ์— ์žˆ๋Š”์ง€ ์ฒดํฌ, ์žˆ์œผ๋ฉด true
        boolean check = false;

        for(int i=0; i<str.length(); i++){
           if(str.charAt(i) == '<'){
               // ์•ˆ์— ์žˆ๋‹ค๊ณ  ์ƒํƒœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ
               check = true;

               // ์Šคํƒ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š”๊ฑฐ ๋‹ค popํ•˜๋ฉด์„œ ์ถœ๋ ฅ
               while(!stack.isEmpty()){
                   sb.append(stack.pop());
               }

               // '<' ๋‚˜ํƒ€๋‚ด๊ธฐ
               sb.append(str.charAt(i));
           }
           else if(str.charAt(i) == '>'){
               // ๋ฐ–์— ์žˆ๋‹ค๊ณ  ์ƒํƒœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ
               check = false;
               // '>' ์ถœ๋ ฅ
               sb.append(str.charAt(i));
           }
           // ' < > ' ์•ˆ์— ์žˆ๋Š” ๊ฒƒ๋“ค
           else if(check){
               sb.append(str.charAt(i));
           }
           // ๋ฐ–์— ์žˆ๋Š” ๊ฒƒ๋“ค
           else if(!check){
               // ๋งŒ์•ฝ ๊ณต๋ฐฑ์ด๋ผ๋ฉด
               if(str.charAt(i) == ' '){
                   // stack์— ์žˆ๋Š” ๊ฒƒ๋“ค ๋‹ค ์ถœ๋ ฅ
                   while(!stack.isEmpty()) {
                       sb.append(stack.pop());
                   }
                   // ๊ณต๋ฐฑ ์ถœ๋ ฅ
                   sb.append(" ");
               }
               // ๊ณต๋ฐฑ์ด ์•„๋‹ˆ๋ผ๋ฉด ์Šคํƒ์— ์ž…๋ ฅ
               else{
                   stack.add(str.charAt(i));
               }
           }
        }
        // ๋‚˜๋จธ์ง€ ๊ฒƒ๋“ค ๋‹ค ์ถœ๋ ฅ
        while(!stack.isEmpty()){
            sb.append(stack.pop());
        }

        System.out.println(sb);
    }
}

๐Ÿค” ๋‚˜์˜ ์ƒ๊ฐ

๋ณดํ†ต ๋‹จ์–ด ๋’ค์ง‘๊ธฐ ๋ฌธ์ œ๋Š” ๋‹ค stack์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฌธ์ œ๋Š” ๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•ด์„œ ํ•œ๋ฒˆ ๋” ๊ผฌ์•„์ฃผ์—ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ์‹ค ์กฐ๊ฑด๋งŒ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋˜๋Š” ๋ถ€๋ถ„์ด๋ผ ์กฐ๊ฑด ๋”ฐ๋ผ ๊ตฌํ˜„์„ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๋ผ๊ณ  ์‰ฝ๊ฒŒ ์ƒ๊ฐ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‚œ ๋งŽ์ด ํ—ค๋งธ๋‹ค.. ใ…‹ใ…‹
์ฒ˜์Œ์—๋Š” ํฌ๊ฒŒ ์กฐ๊ฑด์„ ๋‚˜๋ˆ„์–ด ํ•  ์ƒ๊ฐ์„ ๋ชปํ•˜๊ณ  ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆด๋‹ค๊ฐ€ ํ์—๋„ ๋„ฃ์„๊นŒ ์ƒ๊ฐ๋„ ํ•˜๋‹ค๊ฐ€ ใ…‹ใ…‹
๊ฒฐ๊ตญ ๋‚˜์ค‘์— ์ญ‰ ๊ฐ€๋ฉด์„œ โ€˜<โ€™, โ€˜>โ€™, โ€˜ โ€˜ ๋ฅผ ๋งŒ๋‚˜๋Š” ๊ฒฝ์šฐ๋งˆ๋‹ค ๊ตฌํ˜„์„ ํ•ด์ฃผ๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ check๋ฅผ ํ†ตํ•ด์„œ ๊ด„ํ˜ธ์•ˆ์— ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ํŒŒ์•… ํ•ด์ฃผ๊ณ  ์•ˆ์— ์žˆ์œผ๋ฉด ๊ทธ๋ƒฅ ์ถœ๋ ฅ ๋ฐ–์— ์žˆ์œผ๋ฉด ์Šคํƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.
๋ฌธ์ž์—ด ๋ฌธ์ œ๋„ ์€๊ทผํžˆ ํ—ท๊ฐˆ๋ ค์„œ ์ด๋ฒˆ ๊ธฐํšŒ์— ํ™•์‹คํžˆ ์•Œ์•„๊ฐ”๋‹ค !!

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: