PS알못 OrbitHv의 PS logo PS알못 OrbitHv의 PS

태그:

17. 스택 CLASS 2

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

소스 코드

언어 코드 시간
Python 3 코드(Github) / 코드(백준) 2020-04-02 19:31:08