9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
문제풀이
- '('은 Stack에 계속 담음
- ')'은 Stack에 '('로 끝날때 '(' 을 pop 시켜준다.
- 만약 Stack 비어있으면 break
Java
package Z_ShinHanCard_Prepare;
/*
* 6
(())())
(((()())()
(()())((()))
((()()(()))(((())))()
()()()()(()()())()
(()((())()(
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class D3백준9012_괄호_stack {
static int T,n,m;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T= Integer.parseInt(br.readLine());
Stack<Character> stack = new Stack<Character>();
boolean check = true;
for(int i = 0 ; i < T ; i++)
{
String input = br.readLine();
stack.clear();
for(int j = 0 ; j < input.length() ; j++)
{
check =true;
char temp = input.charAt(j);
if(temp == '(')
{
stack.push(temp);
}else if(temp ==')')
{
if(stack.isEmpty())
{
check = false;
break;
}
stack.pop();
}
}
if(check ==true && stack.isEmpty())
System.out.println("YES");
else
System.out.println("NO");
}
}
}
'Algorithm' 카테고리의 다른 글
[백준 9536] 여우는 어떻게 울지? (Java) (0) | 2020.09.08 |
---|---|
[백준 1654] 랜선 자르기_이분탐색 (0) | 2020.09.07 |
[백준 7562] 나이트의 이동 (C++, Java) (0) | 2020.09.07 |
[백준 2664] 촌수계산 (C++, Java) (0) | 2020.09.06 |
[백준 2309] 일곱 난쟁이 (C++, Java) (0) | 2020.09.06 |