*문제 출처는 백준에 있습니다.
문제 제목: 빗물 / 14719번 (골 5단계)
문제 사이트: https://www.acmicpc.net/problem/14719
문제 설명

나의 풀이
def main():
h, w = map(int, input().split())
block = list(map(int, input().split()))
answer = 0 # 정답
for i in range(1, w - 1):
left = max(block[:i]) # 좌측 비교
right = max(block[i + 1:]) # 우측 비교
m = min(left, right) # 더 낮은거 선택
if m > block[i]: # 낮지만 현재 블록 보다 높아야 물이 쌓임
answer += m - block[i]
print(answer)
main()

※ 알아야 할 것
좌측과 우측을 비교한 후에 더 낮은 것을 선택하고 현재보다 블록이 더 높으면 물이 쌓인다!
물이 넘치는 것을 고려하지 않아도 된다
'Coding Test > 백준-Python' 카테고리의 다른 글
| 백준 / 등수 매기기 / 2012번 / Python (0) | 2025.03.13 |
|---|---|
| 백준 / A와 B / 12904번 / Python (0) | 2025.03.12 |
| 백준 / 토마토 / 7569번 / Python (0) | 2025.03.10 |
| 백준 / N과 M (7) / 15656번 / Python (0) | 2025.03.09 |
| 백준 / N과 M (6) / 15655번 / Python (0) | 2025.03.07 |