본문 바로가기

개발공부/백준 뽀개기

[백준 10799 ] [자바] 쇠막대기 (스택 사용)

 

 

 

복잡해 보이지만 

문제를 요약하자면 

 

붙어있는 () -> 레이저

붙어있지 않는 (  )는 -> 막대기

 

막대기의 갯수는?

 

 

핵심힌트

 

스택에  '('를  넣고 '('일 경우 뺀다(pop)

그때,  (의 역할 파악이 중요!

 

 

 

 

1.  )로 닫았을때, 레이저?

이 경우에는 +1을 해서 레이저로 쐈을 때 나눠졌을 경우를 생각해준다.

 

2.  )로 닫았을때, 막대기의 끝?

이 경우에는 막대기의 갯수를 더해준다. stack에 남아있는 size 더해주기

(막대기가 위에 계속 쌓이는 거니까 size만한 막대기를 쌓아올린다.)