(괄호는 1
)괄호는 -1로 바꾸고
순서대로 더한다(int sum).
만약 sum이 음수가 된다면 바로 실패처리 후 NO
최종으로 더한 값이 0이 나온다면 YES를 출력한다
import java.util.Scanner;
public class B9012 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
char[][] Board = new char[N][51];
int[][] intArr = new int[N][51];
for(int i=0; i<N; i++){
String str = sc.next();
Board[i] = str.toCharArray();
for(int j=0; j<Board[i].length; j++){
if(Board[i][j]=='(') intArr[i][j] =1;
if(Board[i][j]==')') intArr[i][j] =-1;
}
}
boolean[] check = new boolean[N];
for(int i=0; i<N; i++){
int sum=0;
for(int j=0; j<50; j++){
sum +=intArr[i][j];
if(sum<0){
check[i] = false;
break;
}
}
if(check[i] || sum==0){
System.out.println("YES");
}else{
System.out.println("NO");
}
}
}
}
'연습문제 > JAVA' 카테고리의 다른 글
[백준 java] 5430 - AC (0) | 2022.08.23 |
---|---|
[백준 java] 3190-뱀 (0) | 2022.08.22 |
[백준 java] 3197-백조의 호수 (0) | 2022.08.18 |
[백준 java] 2669-직사각형 네개의 합집합의 면적 구하기 (0) | 2022.08.17 |
[백준 java] 2668-숫자고르기 (0) | 2022.08.17 |