BOJ/Python

[BOJ/백준] 17608 - 막대기 (Python)

tjdms4327 2024. 11. 9. 12:32

문제

문제링크

n개의 막대기에 대한 높이가 주어질 때, 오른쪽에서 봤을 때 몇 개가 보이는가.

 

풀이

막대기의 높이는 왼쪽에서부터 차례로 주어진다.

맨 오른쪽 높이를 last로 저장하고 보이는 막대기의 수(count)를 1로 설정한다.

다음 막대기의 높이가  last보다 크면 count에 1을 더하고 last를 갱신한다.

모든 막대기의 높이를 다 보고 난 후의 count가 문제에서 원하는 답이다.

 

코드

import sys
input = sys.stdin.readline

n=int(input())
lobs=[int(input()) for _ in range(n)]

last = lobs[-1]
count = 1
for i in reversed(range(n)):
    if lobs[i] > last:
        count += 1
        last = lobs[i]
print(count)