[백준] 9012번 괄호 - Java
문제 출처
https://www.acmicpc.net/problem/9012
※ 풀이
스택을 이용해서 가장 최근에 열었던 괄호를 닫았는지 검사해주면 풀 수 있는 문제이다.
※ 소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
while (n > 0) {
String data = br.readLine();
Stack<Character> stack = new Stack<>();
boolean finish = false;
for (int i = 0; i < data.length(); i++) {
char c = data.charAt(i);
if (c == '(') {
stack.push(c);
} else {
if (stack.empty()) {
finish = true;
break;
} else {
stack.pop();
}
}
}
if (!stack.empty() || finish) {
System.out.println("NO");
}
else{
System.out.println("YES");
}
n--;
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 5567번 결혼식 - Java[BFS] (0) | 2021.06.10 |
---|---|
[백준] 10816번 숫자 카드2 - Java (0) | 2021.06.09 |
[백준] 2798번 블랙잭 - Java[브루트포스] (0) | 2021.06.08 |
[백준] 1439번 뒤집기 - Java[그리디 알고리즘] (0) | 2021.06.07 |
[백준] 14470번 전자레인지 - Java[구현] (0) | 2021.06.07 |