코딩테스트/SW Expert Academy

[D3] 1206. [S/W 문제해결 기본] 1일차 - View

2024. 10. 14. 10:25

1206. [S/W 문제해결 기본] 1일차 - View

 

✏️ 문제 풀이

-  양 쪽에 최소 2개의 인접한 건물이 있어야 조망권 계산 가능 

for tc in range(1, 11):
    n = int(input())
    data = list(map(int, input().split()))
    result = 0

    for i in range(2, n - 2):
        # 주변 건물의 높이 계산
        left_max = max(data[i-1], data[i-2])
        right_max = max(data[i+1], data[i+2])
        
        # 현재 건물과 주변 건물의 높이 차이를 계산
        view_height = data[i] - max(left_max, right_max)

        # 조망권이 확보된 경우
        if view_height > 0:
            result += view_height

    print(f'#{tc} {result}')