걸음마부터 달리기
SWEA 4866 괄호검사 본문
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));
}
}
}