🌞Algorithm/🔥programmers

[programmers] 올바른 괄호

뿌야._. 2026. 8. 12. 10:51
문제
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