슬라이딩 윈도우 [SWEA] D3 1206. S/W 문제해결 기본 1일차 - View

이영준·2022년 10월 15일
0

알고리즘 문제풀이

목록 보기
2/24

문제 링크

for t in range(10):
    building = int(input())
    building_list = list(map(int, input().split()))
    res = 0

    for i in range(len(building_list)-4):
        max_building = max(building_list[i:i+2]+building_list[i+3:i+5])
        if max_building < building_list[i+2]:
            res += building_list[i+2]-max_building
    print(f'#{t+1} {res}')

조망이 있다는 것 = 자신의 양 옆 두칸보다 높은 층만이 가능,
따라서 양옆 높이의 최댓값보다 건물이 높아야만 그 최댓값의 차만큼 조망이 가능하다는 것을 이용한다.

profile
컴퓨터와 교육 그사이 어딘가

0개의 댓글