-
프로그래머스 lv2-올바른 괄호카테고리 없음 2022. 11. 11. 18:34
https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
조건문에 따라 스택에 값을 넣거나 빼고, 모든 구문이 완료되었을 때 스택에 남은 요소가 없는지를 체크해야 한다.
케이스 1 : '(' 이 들어오면 일단 넣는다.
케이스 2: ')'이 들어왔을 때
케이스 2-1 : 스택의 가장 마지막 요소[-1]가 '(' 이면 해당 요소를 삭제한다. { ')'은 굳이 넣지 않는다. }
케이스 2-2 : 스택의 가장 마지막 요소[-1]가 ')' 이면 False를 반환하고 반복문을 break로 탈출한다.
케이스 3: 전체 반복문을 마쳤을 때 스택의 length가 0보다 크면 False를 반환한다.
def solution(s): answer = True arr = [] for i in s: if i=='(': arr.append(i) elif i==')': if len(arr)<1: answer=False break elif arr[-1]=='(': arr.pop(-1) else: answer=False break if len(arr)!=0: answer=False return answer