문제 설명

제한 사항

입출력 예

풀이
import java.util.Stack;
class Solution {
boolean solution(String s) {
Stack<Character> stack = new Stack<>();
char[] c = s.toCharArray();
if (c[0] == ')') return false;
for (int i = 0; i < s.length(); i++) {
if (c[i] == ')' && !stack.empty() && stack.peek() == '(') stack.pop();
else stack.push(c[i]);
}
return stack.size() == 0 ? true : false;
}
}
후기
별로 어려울 건 없는 문제였다. 괄호를 스택을 이용해서 처리하는 건 너무 유명한 내용이라 별로 어려움이 없었다. 다만 다음에 또 이런 문제를 풀 기회가 있다면 스택을 안 쓰고 풀어봐야 겠다.
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][JAVA][Lv. 2] 과제 진행하기 (0) | 2023.08.04 |
|---|---|
| [프로그래머스][Java][Lv. 2] 의상 (0) | 2023.08.03 |
| [프로그래머스][JAVA][Lv. 2] 문자열 압축 (0) | 2023.08.02 |
| [프로그래머스][JAVA][Lv. 2] 짝지어 제거하기 (0) | 2023.08.01 |
| [프로그래머스][JAVA][Lv. 1] 콜라츠 추측 (0) | 2023.08.01 |