문제 : 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 |