Hikenny25
1일차 - View 본문
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