728x90
- 레이저로 쇠막대기를 분리하는 문제
- 쇠막대기와 레이저 모두 문자열 '('와 ')'로 나타냄
풀이
- 문자열을 입력 받고, 하나씩 문자를 가져와 '('일 경우에 스택에 쌓음
- ')'가 나왔을 시, 레이저로 간주하고 이전까지 쌓은 스택의 사이즈만큼 count. (잘린 쇠막대기 개수)
- ')'가 나왔을 시, 레이저가 아닌 경우, 쇠막대기를 닫는 경우를 위해 layzer라는 변수를 설정해서 on/off 해줌
- layzer=0일 경우, 가장 안쪽의 쇠막대기가 닫히면서 count+1해준다.
코드
알게 된 점
- 스택의 활용
- 예외처리가 너무 힘들다
- 스택 문제라는 틀에 갇혀서 문제풀이가 더 어려워진 것 같다. 아니면 내가 스택을 잘 활용하지 못하거나.
git 코드
728x90
'C++ > 백준 Etc' 카테고리의 다른 글
[c++] 1181, 우선순위 큐 + operator 정렬 (2) | 2023.10.25 |
---|---|
[c++] BFS example from 바킹독 (0) | 2023.07.24 |
[c++]백준 균형잡힌 세상(4949), stack, 반례모음 (17) | 2023.07.14 |
[c++] 백준 덱(10866) (0) | 2023.07.14 |
[c++] 백준 회전하는 큐(1021) (0) | 2023.07.14 |