https://www.acmicpc.net/problem/17608
다소 어이가 없었다. 이걸 깊게 고민했던 내가 싫다..
요약하면, 스택에서 꺼내면서 최대치가 갱신 될 때마다 카운트를 계속 세주면 된다.
가려진 애들이 얼마나 있는지를 구할 필요가 없으니, 스택에서 꺼내는 걸 시작하는 시점에서부터 최대치를 계속 갱신해주면된다.
물론 최대치가 얼마인지도 실제로 궁금하지도 않다. 핀트는 몇 번이나 그랬냐? 이니까..
import sys
stickStack = []
stickCnt = int(sys.stdin.readline())
for i in range(stickCnt):
stickStack.append(int(sys.stdin.readline()))
curMaxLength = 0
viewAbleCnt = 0
while len(stickStack) != 0:
item = stickStack.pop()
if(curMaxLength < item):
curMaxLength = item
viewAbleCnt += 1
print(viewAbleCnt)
'문제풀이' 카테고리의 다른 글
[PY] 8983 : 사냥꾼 (0) | 2025.03.25 |
---|---|
[PY] 2470 : 두 용액 (0) | 2025.03.25 |
[PY] 9012 : 괄호 (0) | 2025.03.24 |
[PY] 10773 : 제로 (0) | 2025.03.24 |
[PY] 10828 : 스택 (0) | 2025.03.24 |