deep_lee 2022. 11. 19. 17:26

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14eWb6AAkCFAYD 

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com

 

 


Stack ํ™œ์šฉ ๊ธฐ๋ณธ๋ฌธ์ œ

์Šคํƒ์— ์ฐจ๋ก€๋Œ€๋กœ ๋„ฃ์œผ๋ฉด์„œ, ์ตœ์ƒ๋‹จ(peek)๊ฐ€ ์—ฌ๋Š”๊ด„ํ˜ธ๊ณ  ํ˜„์žฌ ์ž…๋ ฅ๋  x๊ฐ€ ๋‹ซ๋Š”๊ด„ํ˜ธ๋ฉด ์ตœ์ƒ๋‹จ ๊ฐ’์„ pop()

 

import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        int T = 10;
        for (int t = 1; t <= T; t++) {
            int n=kb.nextInt();
            String s=kb.next();

            Stack<Character> stack=new Stack<>();

            for(char x:s.toCharArray()){
                if(x==')' && stack.peek()==('(')) stack.pop();
                else if(x==']' && stack.peek()==('[')) stack.pop();
                else if(x=='}' && stack.peek()==('{')) stack.pop();
                else if(x=='>' && stack.peek()==('<')) stack.pop();
                else stack.push(x);
            }
            if(stack.isEmpty()) System.out.println("#"+t+" "+1);
            else System.out.println("#"+t+" "+0);
        }
    }
}