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

shin·2022년 11월 16일
0

CodingTest 문제 풀이

목록 보기
42/79

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

풀이

for t in range(1, 11):
    N = int(input())
    arr = list(map(int, input().split()))
    count = 0 # 조망권이 확보된 세대의 수
    for i in range(2, N - 2):
    	# 왼쪽 2개 건물과 오른쪽 2개 건물이 현재 건물보다 낮은지 확인
        if arr[i] > arr[i - 2] and arr[i] > arr[i - 1] and arr[i] > arr[i + 1] and arr[i] > arr[i + 2]:
            max_value = 0 
            # 4개의 건물 중에 가장 높은 건물의 높이 구하기
            for j in range(1, 3):
                if arr[i - j] > max_value:
                    max_value = arr[i - j]
                if arr[i + j] > max_value:
                    max_value = arr[i + j]
            # (현재 건물 높이 - 4개 건물 중 가장 높은 건물 높이)를 조망권이 확보된 세대의 수에 더함 
            count += arr[i] - max_value
    print(f"#{t} {count}")
profile
Backend development

0개의 댓글