1. 문제

2. 풀이
여는 괄호를 스택에 넣고 닫는 괄호가 들어오면 pop해주는 식으로 한뒤에 팝한 숫자와 스택에 남은 숫자를 더하면 정답이 된다.
3. 코드
import java.util.Scanner;
import java.util.Stack;
public class Q11899 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Stack<Character> st = new Stack<>();
String str = sc.nextLine();
int cnt = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == '(') {
st.push('(');
} else if (str.charAt(i) == ')') {
if (st.isEmpty()) cnt++;
else st.pop();
}
}
System.out.println(cnt+st.size());
}
}
4. 결과

5. 소감
문제에 대해 이해가 빠르게 되어서 금방 풀 수 있었다.
'코딩테스트' 카테고리의 다른 글
| BOJ : 2217 (0) | 2024.05.22 |
|---|---|
| BOJ : 4796 (0) | 2024.05.22 |
| BOJ : 10799 (0) | 2024.04.05 |
| BOJ : 28278 (0) | 2024.04.05 |
| BOJ : 5397 (0) | 2024.04.04 |