파이썬 알고리즘

[파이썬] SWEA 문제해결 1일차 - View

뜻 지, 깨달음 오 2022. 12. 7. 21:17

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

2중 for 문으로 돌면서 왼쪽 옆 2개, 오른쪽 옆 2개를 확인해주면 되는 문제였다

 

 

<전체 풀이>

T = 10 #int(input())
for tc in range(1, T+1):
    N = int(input())
    arr = list(map(int, input().split()))
 
    cnt = 0 # 조망권 수
    for i in range(2, N-2): # 조망권 확인 위치
        # h = max(arr[i-2], arr[i-1], arr[i+1], arr[i+2])
        h = 0
        for j in range(i-2, i+3):   # 주변 4개중 최대높이
            if i!=j:
                if h < arr[j]:
                    h = arr[j]
        if arr[i]>h:        # 주변 4개보다 기준위치가 높으면
            cnt += arr[i]-h # 높이차이만큼 조망권 확보
    print(f'#{tc} {cnt}')