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

태그:

17. 스택 CLASS 2 ESSENTIAL

주어진 문자열이 괄호 문자열인지 판단하는 문제입니다. 스택을 하나 선언하고 여는 괄호가 나오면 스택에 집어넣고, 닫는 괄호가 나오면 스택에서 하나를 빼는 형식입니다. 스택이 비었는데 닫는 괄호가 나온다면 스택에서 뺄 수 없으므로 괄호 문자열이 아닙니다. 또한 모든 문자를 처리했는데 스택이 비지 않았다면 그것 또한 괄호 문자열이 아니게 됩니다. 이런 경우가 아니라면 괄호 문자열이 맞게 되는 것이죠.

… 가 정석 풀이인데 스택에 넣거나 빼는 행동밖에 없고 스택에 무엇을 넣는지는 중요하지 않으므로 스택 대신 정수 하나로 처리가 가능합니다. 여는 괄호일 때 1을 더하고 닫는 괄호일 때 1을 빼는 형식입니다. 괄호 문자열이 아닌 조건은 위와 같습니다. 닫는 괄호가 나왔는데 정수가 0이거나 모든 문자를 처리했는데 정수가 0이 아니라면 괄호 문자열이 아니게 됩니다.

소스 코드

언어 코드 시간
Python 3 코드(Github) / 코드(백준) 2020-03-30 22:28:07