문제
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
문제 풀이
처음 보자마자 스택이 떠오르긴 했는데 구현 과정에서 굳이...? 라는 생각이 들어서 여는 괄호 "(" 를 판별하는 인덱스 변수 하나를 이용해서 풀었다.
여는 괄호가 나올 때마다 idx++ 해주고, 닫는 괄호가 나오면 idx-- 해준다.
이 때, idx가 음수가 되면 여는 괄호가 나오지도 않고 닫는 괄호가 나온 것이기 때문에 바로 break를 수행한다.
소스 코드
public class b_9012 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
// Stack<String> stack = new Stack<>();
int sIdx;
for(int i = 0; i < t; i++) {
String s = sc.next();
String[] str = s.split("");
sIdx = 0;
for(int j = 0; j < str.length; j++) {
if(str[j].equals("("))
sIdx++;
else
sIdx--;
if(sIdx < 0)
break;
}
if(sIdx == 0)
System.out.println("YES");
else
System.out.println("NO");
}
sc.close();
}
}
'Algorithm > BOJ' 카테고리의 다른 글
[백준] 23742번 Player-based Team Distribution 자바 (0) | 2022.04.18 |
---|---|
[백준] 23741번 야바위 게임 자바 (0) | 2022.04.17 |
[백준] 1904번 01타일 자바 (0) | 2022.04.13 |
[백준] 1937번 욕심쟁이 판다 자바 (0) | 2022.04.07 |
[백준] 11055번 가장 큰 증가 부분 수열 자바 (0) | 2022.03.17 |