SW Expert Academy

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

RiLLa_0511 2023. 4. 30. 19:35
728x90

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh&categoryId=AV134DPqAA8CFAYh&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=PYTHON&select-1=&pageSize=10&pageIndex=1 

 

 

SW Expert Academy

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

swexpertacademy.com

 

양 끝의 두 칸을 제외한 빌딩들만 for문을 돌려주었다. 

 

아래 그림과 같이 5개의 빌딩 중 j번째의 건물 높이가 가장 높다면 j번째 건물 높이에서 그 다음으로 높은 건물의 높이 값을 빼주고 그 값을 result에 더해준다.

 

만약 j번째 건물이 가장 높지 않다면 조망권을 확보하지 못하기 때문에 넘어간다.

 

 

for i in range(10):
    n = int(input())
    height = list(map(int, input().split()))
    result = 0
    for j in range(2, n-2):
        if max(height[j-2], height[j-1], height[j], height[j+1], height[j+2]) == height[j]:
            result += height[j] - max(height[j-2], height[j-1], height[j+1], height[j+2])
        else:
            continue
    print("#" + str(i + 1) + " " + str(result))

 

 

혼자 공부하며 올리는 블로그입니다. 틀린 내용은 댓글 남겨주시면 감사하겠습니다.