Problem Solving/SWEA

[SWEA 1218] 괄호 짝짓기 C++

유자애옹 2021. 7. 28. 17:06
 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

문제풀이

 

4 종류의 괄호문자들 '()', '[]', '{}', '<>'로 이루어진 문자열이 주어질 때, 괄호들의 짝이 모두 맞는지 판별하는 문제다.

 

아래와 같은 문자열은 짝이 잘 이루어져 있으므로 유효하다고 판단할 수 있다.

아래와 같은 문자열은 붉은색으로 표시된 괄호의 짝을 찾을 수 없기 때문에 유효하지 않은 문자열이다.

아래 문자열은 열고 닫는 괄호의 개수는 유효하나 짝이 맞지 않는 괄호가 사용되었기 때문에 유효하지 않다.

 

 

 

char형의 스택에 여는 괄호 문자들 '(', '[', '{', '<'을 넣어준다.

닫는 괄호 문자들 ')', ']', '}', '>'일 경우에는 스택의 top이 짝인지 확인하고 짝이 아니라면 검사를 종료한다.

 

 

C++ 코드