Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

걸음마부터 달리기

SWEA 4866 괄호검사 본문

카테고리 없음

SWEA 4866 괄호검사

성추 2025. 4. 10. 14:58

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AWTQVdd6QToDFAVT&categoryId=AWTQVdd6QToDFAVT&categoryType=CODE&problemTitle=&orderBy=SUBMIT_COUNT&selectCodeLang=ALL&select-1=2&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

그냥 스택써서 하나씩 빼와서 검사 후 없애거나 하면 되는 문제

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class main {
    static int T;
    static int N;
    static int[][] map;
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        T = Integer.parseInt(br.readLine());
        for (int i = 0; i < T; i++) {
            Stack<Character> stack = new Stack<>();
            char[] arr = br.readLine().toCharArray();
            boolean flag = true;
            for(int j = 0; j < arr.length; j++) {
                if(arr[j]=='{' || arr[j]=='(') {
                    stack.push(arr[j]);
                }
                else if(arr[j]=='}' || arr[j]==')') {
                    if(stack.isEmpty()) {
                        System.out.println("0");
                        flag = false;
                        break;
                    }
                    else{
                        Character pop = stack.pop();
                        if((arr[j]==')' && pop=='(')||(arr[j]=='}' && pop=='{')) {
                            continue;
                        }
                        else{
                            System.out.println("0");
                            flag = false;
                            break;
                        }
                    }
                }
            }
            if(!stack.isEmpty()) {
                flag = false;
            }
            // ⚠️ 출력 형식 맞추기
            System.out.println("#" + (i+1) + " " + (flag ? 1 : 0));
        }
    }

}