![[BOJ 9012] 괄호 (C++)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp2fKI%2FbtrkjWr8ela%2FaJ4r18QaYRbnOt1sOPSK01%2Fimg.png)
[BOJ 9012] 괄호 (C++)CSE/알고리즘 (algorithm)2021. 11. 9. 23:50
Table of Contents
Problem
https://www.acmicpc.net/problem/9012
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
Comment
자료구조 중 스택을 응용한 문제입니다.
문자열을 받아 처음부터 문자 하나하나씩 찾습니다. 만약 '여는 괄호'를 찾는다면 스택에 push 합니다. '닫는 괄호'라면
스택에서 pop합니다. 스택에 뭐가 들어있던 상관 없습니다(단, 무엇인가가 들어있어야 합니다. 그렇지 않으면 그 문자열은 괄호의 짝이 맞지 않다는 뜻입니다.).
모든 문자열의 원소(문자 하나하나)들을 검사한 후, 스택이 비어있다면 (괄호의 짝이 맞다는 뜻이므로) 'YES'를 출력합니다. 스택이 비어있지 않으면 'NO'를 출력합니다.
Code
Result
Remark
문제에서는 소괄호만 있지만 키보드로 표현할 수 있는 세 가지 괄호( '(' , '{', '[' )를 이용해서 응용해 볼 수도 있을 것 같습니다.
728x90
반응형
'CSE > 알고리즘 (algorithm)' 카테고리의 다른 글
[BOJ 10773] 제로 (C++) (1) | 2021.11.10 |
---|---|
[BOJ 10845] 큐 (C++) (0) | 2021.11.10 |
[BOJ 10828] 스택 (C++) (0) | 2021.11.09 |
[BOJ 2178] 미로 탐색 (C++) (0) | 2021.11.06 |
[BOJ 10950] A+B - 3 (C++) (0) | 2021.11.05 |
@junyeokk :: 나무보다 숲을
컴퓨터 전공 관련, 프론트엔드 개발 지식들을 공유합니다. React, Javascript를 다룰 줄 알며 요즘에는 Typescript에도 관심이 생겨 공부하고 있습니다. 서로 소통하면서 프로젝트 하는 것을 즐기며 많은 대외활동으로 개발 능력과 소프트 스킬을 다듬어나가고 있습니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!