코딩테스트/백준

[백준] 9012.괄호 (Swift)

도지대디 2022. 6. 20. 04:00

[백준] 9012.괄호 (Swift)

https://www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

풀이

스택을 이용해 해결할 수 있는 간단한 문제입니다.

 

괄호는 무조건 한 쌍으로 이루어져야 하며 괄호가 열리면 무조건 괄호는 닫혀야 합니다. 스택을 이용해 괄호의 유효성을 판단하는것은 굉장히 간단합니다.

 

( 가 나오면 스택에 push 하고 ) 가 나오면 pop 하는 것이 전부입니다.

 

하지만 pop 할 시 스택이 비어있다면 해당 괄호 set 은 유효하지 않습니다. 혹은 모든 push 와 pop 이 끝나고 난 후에도 스택에 남아있는 원소가 존재한다면 해당 괄호 set 또한 유효하지 않다고 볼 수 있습니다.

 

문자열의 문자들을 하나씩 탐색하며 위 방법을 반복하면 문제를 해결할 수 있습니다.

코드