본문 바로가기

PS/백준

[BOJ] 백준 9012 괄호 (Swift)

반응형

문제

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

 

9012번: 괄호

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

www.acmicpc.net

풀이

이 문제는 Stack를 사용하는 Well-Known 문제입니다.

  1. Stack이 비어있다면, 어떤 괄호이든지 상관없이 Stack에 삽입해주었습니다.
  2. Stack이 비어있지 않고, Stack의 top이 "(" 이고, 현재 문자열이 ")"라면 "()"로 올바른 괄호가 되기 때문에 Stack의 마지막 요소 "("를 삭제 해주었습니다.
  3. Stack이 비어있지 않고, 들어올 괄호가 "("인 경우 Stack에 삽입해주었습니다.

그 이후 Stack비어있다면 올바른 괄호 문자열(VPS)이고, 비어있지 않다면 아니게 됩니다.

소스코드

후기

Stack 자료구조를 사용하는 잘 알려진 문제입니다.
Stack 자료구조를 떠올린다면 쉽게 풀 수 있는 문제입니다.

반응형

'PS > 백준' 카테고리의 다른 글

[BOJ] 백준 1874 스택 수열 (Swift)  (0) 2023.04.03
[BOJ] 백준 4949 균형잡힌 세상 (Swift)  (0) 2023.04.03
[BOJ] 백준 10773 제로 (Swift)  (0) 2023.04.03
[BOJ] 백준 10828 스택 (Swift)  (0) 2023.04.03
[BOJ] 백준 1037 약수 (Swift)  (0) 2023.04.03