Algorithm/백준

[백준 알고리즘] 17608번: 막대기 (Python)

에릭 Kim 2023. 6. 3. 14:33
반응형

https://www.acmicpc.net/problem/17608

 

17608번: 막대기

아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로

www.acmicpc.net

 

소스코드

 

풀이

★ n만큼 반복문을 돌면서 stack이 비어있지 않고, 스택의 최상단에 있는 값이 반복문 해당 값보다 작거나 같으면, 스택에서 pop해준 뒤, 해당 값을 append 해줍니다.

 

ex) 

k = [6,9,7,6,4,6]

 

i = 0, stack = [0]

i = 1, stack = [1]

i = 2, stack = [1,2]

i = 3, stack = [1,2,3]

i = 4, stack = [1,2,3,4]

i = 5, stack = [1,2,5]

 

=> len(stack) = 3 

 

★ 스택에 값을 넣지 않고 입력받은 값들의 인덱스를 넣었다 뺴주면서 풀이를 진행했습니다 ! 값으로 하셔도 무방합니다 :) 

반응형