강의/[C++]바킹독의 실전 알고리즘

[바킹독]8. 스택의 활용(수식의 괄호 쌍)

개발의 피 2024. 8. 2. 00:48

https://youtu.be/cdjjk-ryPKc?si=IXGQTPj6RrDga6Hv

https://blog.encrypted.gg/936

 

[실전 알고리즘] 0x08강 - 스택의 활용(수식의 괄호 쌍)

안녕하세요, 0x05강에서 스택을 다룰 때 후반부에 얘기를 하기도 했었지만 스택의 대표적인 활용 사례로 수식의 괄호 쌍이랑 전위/중위/후위 표기법, DFS, Flood Fill 등이 있습니다. 이 중에서 전위/

blog.encrypted.gg

 

1. 수식의 괄호 쌍이란?
2. 문제 해결을 위한 관찰
3. 문제 해결 방법
4. 연습문제 

 

1. 수식의 괄호 쌍이란?

스택의 대표적인 활용 사례 : 수식의 괄호쌍, DFS, Flood Fill... 

위 수식 : 올바른 괄호 쌍

아래 수식 : 올바르지 않은 괄호 쌍

-> 수식의 괄호 쌍 : 주어진 괄호 문자열이 올바른지 판단하는 문제 


2. 문제 해결을 위한 관찰



3. 문제 해결 방법

1) 여는 괄호가 나오면 스택에 추가

2) 닫는 괄호가 나왔을 경우,

2-1) 스택이 비어있으면 올바르지 않은 괄호 쌍

2-2) 스택의 top이 짝이 맞지 않는 괄호일 경우 올바르지 않은 괄호 쌍

2-3) 스택의 top이 짝이 맞는 괄호일 경우 pop 

3) 모든 과정을 끝낸 후 스택에 괄호가 남아있으면 올바르지 않은 괄호쌍, 남아있지 않으면 올바른 괄호 쌍 

'강의 > [C++]바킹독의 실전 알고리즘' 카테고리의 다른 글

[바킹독]7. 덱  (0) 2024.08.02
[바킹독] 6. 큐  (0) 2024.08.02
[바킹독]5. 스택  (0) 2024.08.02
[바킹독]4. 연결 리스트  (0) 2024.08.01
[바킹독]3. 배열  (0) 2024.08.01