Java 자료구조 Stack (2) 백준 괄호
백준 괄호
- 문제 https://www.acmicpc.net/problem/9012
import java.util.Scanner;
import java.util.Stack;
public class Stack_Practice {
public static void foo(String s) {
Stack<Character> stack = new Stack<>();
int i = 0;
while (i < s.length()) {
char c = s.charAt(i);
if (c == '(') {
stack.push(c);
} else { // ')'
if (stack.size() < 1) {
System.out.println("NO");
return; }
stack.pop();
}
i++;
}
if(stack.size() > 0){
System.out.println("NO");
}else {
System.out.println("YES");
}
}
public static void main(String[] args) {
//input
Scanner scanner = new Scanner(System.in);
int T = scanner.nextInt();
for(int i = 0; i < T; i++){
foo(scanner.next());
}
}
}
정리
- charAt(index)
- String 타입의 참조변수 뒤에 붙여서 사용하거나 next() nextLine()뒤에 붙여서 사용
- 글자 수 하나하나를 인덱스로 인식하고 가져옴
참고 : https://colossus-java-practice.tistory.com/31
댓글남기기