Jun's Development Journey
[BOJ] 9012 괄호 본문
문제
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static boolean chk_vps(String par) {
boolean chk = true;
int idx=0, len = par.length();
Stack<Character> stack = new Stack<Character>();
while(idx!=len) {
if(par.charAt(idx)=='(')
stack.push(par.charAt(idx));
else if(stack.empty()) {
//문자열을 다 돌기전에 스택이 빈다면, ')'가 더 많은 것이다.
chk = false;
break;
}
else
stack.pop();
idx++;
}
if(!stack.empty())//문자열을 다 돌고도 스택이 안비었다면 '('이 더 많은것이다.
chk = false;
return chk;
}
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
String[] par = new String[N];
//입력
for(int i=0;i<N;i++)
par[i] = new String(br.readLine());
//계산
for(int i=0;i<N;i++) {
if(chk_vps(par[i]))
System.out.println("YES");
else
System.out.println("NO");
}
}
}
'BOJ > String' 카테고리의 다른 글
[BOJ]9996번 한국이 그리울 땐 서버에 접속하지 (0) | 2021.04.08 |
---|---|
[BOJ] 1213번 팰린드롬 만들기 (0) | 2021.03.22 |
[BOJ] 8958 OX 퀴즈 (0) | 2021.02.16 |
[BOJ] 4949번 균형잡힌 세상 (0) | 2019.08.26 |
[BOJ] 9933번 민균이의 비밀번호 (0) | 2019.08.26 |