Hikenny25

1일차 - View 본문

SW Expert Academy/Programming - Intermediate

1일차 - View

hikenny 2023. 12. 10. 21:58
def how_many_light(idx):
    height_max = max(height[idx-2], height[idx-1], height[idx+1], height[idx+2])

    if height[idx] - height_max <= 0:
        return 0
    else:
        return height[idx] - height_max

ans = list()

for _ in range(10):
    n = int(input())
    height = [0,0] + list(map(int, input().split())) + [0, 0] # idx 2부터 n+1까지 탐색

    temp_ans = 0
    for i in range(2, n+2):
        temp_ans += how_many_light(i)

    ans.append(temp_ans)

for i in range(10):
    print(f"#{i+1} {ans[i]}")

 

처음에는 2차원 리스트를 만들어서 비교해볼까 했는데, 굳이 그럴 필요 없이 높이만 리스트로 저장한 후에 idx-1, idx-2, idx+1, idx+2 를 인덱스로 갖는 값 중 최댓값과 idx 를 인덱스로 갖는 값을 비교하면 되는 간단한 문제였다!

'SW Expert Academy > Programming - Intermediate' 카테고리의 다른 글

2일차 - Sum  (1) 2023.12.11
1일차 - Flatten  (0) 2023.12.11
1일차 - 최빈수 구하기  (0) 2023.12.10
5일차 - 미로  (0) 2023.12.10
5일차 - Forth  (0) 2023.12.10
Comments