문제
https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
< 올바른 괄호 >
문제 풀이 (Java)
import java.util.*;
class Solution {
boolean solution(String s) {
boolean answer = true;
Stack<Character> stack = new Stack<>();
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '(') {
stack.add(s.charAt(i));
} else {
if (stack.size() == 0) {
answer = false;
break;
}
stack.pop();
}
}
if (stack.size() != 0) {
answer = false;
}
return answer;
}
}
s를 순회하며 '('인 경우 stack에 저장한다. ')'인 경우 stack이 비어있다면 올바르지 않은 괄호이므로 answer을 false로 저장한 후 종료한다. stack이 비어있지 않다면 pop 한다. s 순회가 끝난 뒤 stack이 비어있지 않다면 이것도 올바르지 않은 괄호이므로 answer을 false로 저장한 후 종료한다.
최종 answer을 반환한다.

출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'🌞Algorithm > 🔥programmers' 카테고리의 다른 글
| [programmers] 같은 숫자는 싫어 (0) | 2026.08.10 |
|---|---|
| [programmers] K번째수 (0) | 2026.07.31 |
| [programmers] 완주하지 못한 선수 (0) | 2026.07.30 |
| [programmers] 디스크 컨트롤러 (0) | 2026.07.29 |
| [programmers] 이중우선순위큐 (0) | 2026.07.27 |