태그:
주어진 문자열이 소괄호 및 대괄호에 대해 균형잡힌 문자열인지 판단하는 문제입니다. 스택을 만들고, 문자열을 순회합니다. 순회하는 도중 (
또는 [
가 나온다면 스택에 해당 괄호를 push합니다. )
또는 ]
가 나온다면 먼저 스택이 비어있는지 체크하고 그렇다면 균형잡혀있지 않은 것입니다. 스택이 비어있지 않다면 스택의 top이 짝을 이루는 괄호인지 체크하여 아니라면 균형잡히지 않다고 판단할 수 있습니다. 짝 괄호가 맞다면 스택에서 pop해줍니다. 모든 문자를 순회한 뒤 스택이 비어있지 않다면 그것 또한 균형잡히지 않은 것입니다. 앞의 균형잡히지 않는 모든 조건이 성립하지 않는다면 균형잡힌 문자열입니다.
소스 코드
언어 | 코드 | 시간 |
---|---|---|
Python 3 | 코드(Github) / 코드(백준) | 2020-04-02 19:31:08 |