문제풀이/기타
[파이썬] [스택] 백준 1863 스카이라인
승무_
2023. 2. 15. 12:07
문제
https://www.acmicpc.net/problem/1863
1863번: 스카이라인 쉬운거
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 50,000) 다음 n개의 줄에는 왼쪽부터 스카이라인을 보아 갈 때 스카이라인의 고도가 바뀌는 지점의 좌표 x와 y가 주어진다. (1 ≤ x ≤ 1,000,000. 0 ≤ y ≤ 500,000) 첫
www.acmicpc.net
코드
import sys
input=sys.stdin.readline
n = int(input())
answer = 0
skylines = []
for i in range(n):
skylines.append(int(input().split()[1]))
skylines.append(0)
stk = [0]
for p in skylines:
#height는 마지막으로 카운트한 건물의 높이
height=p
#이전 건물이 더 크면
while stk[-1]>p:
if height!=stk[-1]:
answer+=1
height=stk[-1]
stk.pop()
stk.append(p)
print(answer)