1. 문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12909

2. 제한 사항

3. 입출력 예

4. 풀이
def solution(s):
stack = []
for c in s:
if c == '(':
stack.append(c)
else:
if not stack:
return False
else:
stack.pop()
return not stack
5. 후기
올바른 괄호로 구성되어 있는지 확인하면 되는 간단한 문제이다.
스택을 이용하면 쉽게 풀 수 있는데 여기서 중요한 점은 )는 넣지 않아도 된다는 것이다. (만 스택에 넣고 )가 들어올 때마다 그냥 하나씩 빼기만 하면 된다. 만약 )가 들어왔는데 스택이 비어있다면 괄호 완성이 안 된다는 뜻이니 바로 Falsse를 반환하면 된다.
예전에 자바로도 한번 풀었었다.
https://megamaker.tistory.com/81
[프로그래머스][JAVA][Lv. 2] 올바른 괄호
문제 설명 제한 사항 입출력 예 풀이 import java.util.Stack; class Solution { boolean solution(String s) { Stack stack = new Stack(); char[] c = s.toCharArray(); if (c[0] == ')') return false; for (int i = 0; i < s.length(); i++) { if (c[i] ==
megamaker.tistory.com
'코딩테스트 (프로그래머스) > Python' 카테고리의 다른 글
| [프로그래머스][Python][Lv. 1] 노란불 신호등 (0) | 2026.05.26 |
|---|---|
| [프로그래머스][Python][Lv. 1] 3진법 뒤집기 (0) | 2026.05.23 |
| [프로그래머스][Python][Lv. 2] 방문 길이 (0) | 2026.05.03 |
| [프로그래머스][Python][Lv. 1] 실패율 (0) | 2026.04.11 |
| [프로그래머스][Python][Lv. 2] 미로 탈출 (0) | 2026.02.18 |