문제 : https://www.acmicpc.net/problem/9012
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int repeat = Integer.parseInt(scan.next());
for (int j = 0; j < repeat; j++) {
String input = scan.next();
String res = "YES";
Stack st = new Stack<>();
for (int i = 0; i < input.length(); i++) {
if (input.charAt(i) == '(') {
st.push(1);
} else if (input.charAt(i) == ')') {
if (st.isEmpty()) {
res = "NO";
break;
} else {
st.pop();
}
}
}
if(!st.isEmpty()) {
res = "NO";
}
System.out.println(res);
}
}
}
'알고리즘 > 심심풀이 문제풀기' 카테고리의 다른 글
[심심풀이 백준문제풀기] 8433128번 감시 (2018 상반기 삼성SDS 기출) (0) | 2018.04.17 |
---|---|
[심심풀이 백준문제풀기] 2606번 바이러스 (0) | 2018.04.13 |
[심심풀이 백준문제풀기] 10828번 스택 (0) | 2018.04.10 |
[심심풀이 백준문제풀기] 2750번 수 정렬하기 (버블정렬) (0) | 2018.04.07 |
[심심풀이 백준문제풀기] 2750번 수 정렬하기 (삽입정렬) (0) | 2018.04.07 |