
-Code
import java.io.*;
import java.util.*;
public class BOJ4949 {
static Deque<Character> deque;
public static void main(String[] args) throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
while (true) {
String line = br.readLine();
deque = new ArrayDeque<>();
if (line.equals(".")) {
break;
}
for (char ch : line.toCharArray()) {
// [], ()의 경우만 적용
if (ch == '[' || ch == '(') {
deque.push(ch);
} else if (ch == ']' || ch == ')') {
if (!deque.isEmpty() && isOk(ch)) {
// 비어있으면 오류나기 때문에 제외
// 조건에 맞으면 pop
deque.pop();
} else {
// 비어있거나 괄호 조건에 맞지 않는 경우
deque.push('x');
break;
}
}
}
System.out.println(deque.isEmpty() ? "yes" : "no");
}
}
// 덱의 마지막 원소와 들어오는 문자 비교
private static boolean isOk(char ch) {
return (ch == ']' && deque.peek() == '[') ||
(ch == ')' && deque.peek() == '(');
}
}'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [백준/Java] 18258번 큐 2 (0) | 2025.12.26 |
|---|---|
| [백준/Java] 1037번 약수 (0) | 2025.12.26 |
| [백준/Java] 9012번 괄호 (0) | 2025.12.26 |
| [백준/Java] 10773번 제로 (0) | 2025.12.26 |
| [백준/Java] 28278번 스택 2 (0) | 2025.12.26 |