본문 바로가기
Algorithm

[BOJ10799] 쇠막대기

by 홀랄리롤랄리 2021. 11. 19.
반응형

[BOJ10799] 쇠막대기

thumbnail

문제 링크

BOJ10799 - 쇠막대기

문제 설명

(는 쇠막대기의 시작, )는 쇠막대기의 끝을 의미한다. ()처럼 붙어있는 괄호는 레이저를 의미하는데, 레이저로 쇠막대기를 잘랐을 때 쇠막대기가 몇 조각이 나오는지를 출력하는 문제이다.

쇠막대기의 길이가 짧을수록 위에 존재하며, 쇠막대기끼리 양 끝점이 겹치지 않는다.

BOJ10799

위의 그림에서 화살표는 레이저를 의미한다. 따라서 레이저로 쇠막대기를 잘랐을 때 17개의 조각이 나온다.

풀이 설명

(가 나오면 스택에 담는다.

스택의 크기는 쇠막대기의 갯수를 의미하는데, 레이저가 한번 자를 때 쇠막대기의 갯수만큼 조각이 생기니까 스택의 갯수만큼 Answer에 더해준다.

레이저를 의미하는 ()의 여는 괄호도 스택에 담기는데 이는 별도의 조건으로 처리한다.
이전 인덱스 i-1( 이면서 현재 인덱스 i)라면 레이저로 처리한다.

이전 인덱스 i-1)가 이면서 현재 인덱스 i)라면 쇠막대기가 끝난 것을 의미한다.
쇠막대기가 끝난다는 것은 레이저가 자른 부분부터 또 하나의 조각이 생기는 것을 의미하기 때문에 Answer에 1을 더해준다.

풀이

반응형

'Algorithm' 카테고리의 다른 글

[Leetcode543] Diameter of Binary Tree  (0) 2021.12.09
[BOJ1918] 후위 표기식  (0) 2021.12.06
[BOJ17299] 오등큰수  (0) 2021.11.19
[BOJ17298] 오큰수  (0) 2021.11.19
[BOJ17413] 단어 뒤집기 2  (0) 2021.11.18

댓글