Coding Test/BaekJoon_Python
백준 17608 <막대기> Python
JunOnJuly
2024. 1. 24. 15:36
728x90
https://www.acmicpc.net/problem/17608
17608번: 막대기
아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로
www.acmicpc.net
pop 메서드를 사용하면 쉽게 풀 수 있습니다.
import sys
input = sys.stdin.readline
def solution(N, hs):
# 카운트 / 맨 앞은 무조건 보임
cnt = 1
# 현재까지 가장 큰 길이
max_height = hs.pop()
# 순회
while hs:
# 마지막 길이
last_height = hs.pop()
# 현재 가장 큰 길이보다 마지막 길이가 작으면 패스
if last_height <= max_height:
continue
# 가장 큰 길이보다 길면
else:
# 카운트 + 1
cnt += 1
# 가장 큰 길이 최신화
max_height = last_height
print(cnt)
N = int(input())
hs = [int(input()) for _ in range(N)]
solution(N, hs)
728x90