● 문제
● 풀이
이 전에 풀었던 백준 9012 괄호와 비슷한 문제이다.
대괄호가 추가되었다는 점과, 괄호와 상관없는 문자들이 섞여있는게 다른점이고 이를 수정하여 코드를 짠다.
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s;
while (true) {
s = in.nextLine();
if (s.equals(".")) {
break;
}
System.out.println(solve(s));
}
}
public static String solve(String s) {
Stack<Character> stack = new Stack<>();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == '(' || c == '[') {
stack.push(c);
} else if (c == ')') {
if (stack.empty() || stack.peek() != '(') {
return "no";
} else {
stack.pop();
}
} else if (c == ']') {
if (stack.empty() || stack.peek() != '[') {
return "no";
} else {
stack.pop();
}
}
}
if (stack.empty()) {
return "yes";
} else {
return "no";
}
}
}
'백준' 카테고리의 다른 글
[백준] 10815 숫자 카드_ JAVA (0) | 2023.07.11 |
---|---|
[백준] 10773 제로_ JAVA (0) | 2023.07.10 |
[백준] 10988 팰린드롬인지 확인하기_ JAVA (0) | 2023.07.06 |
[백준] 9012 괄호_ JAVA (0) | 2023.07.06 |
[백준] 2164 카드2_ JAVA (0) | 2023.07.03 |