로딩
요청 처리 중입니다...

백준 14719번 '빗물' 파이썬(Python) / 구현

 백준 14719번 '빗물' 파이썬(Python) / 구현

https://www.acmicpc.net/problem/14719 난이도 : 골드5 소요시간 : 40분 [문제 접근 방법] 빗물이 고이는 양을 어떻게 구할까?만 생각한다면, 구현은 어렵지 않은 문제이다.

다만 이 방법을 생각하는 것이 까다로울 수 있다. => 각 index에서 쌓이는 빗물량을 구해야 한다. [빗물이 고이는 조건] index가 a인 지점에서 빗물이 고이려면, 전체 height에서 a왼쪽에 있는 가장 큰 값보다 a가 더 작고, a오른쪽에 있는 가장 큰 값보다 a가 작아야 한다.

예를 들어서 위 그림을 보자. 위 그림에서는 index=4,5,6인 부분에 빗물이 고였으며, 각각 3,2,3씩 고였다. index가 5인 a의 height가 1일 때, leftMaxHeight= index가 3인 height의 3 rightMaxHeight= index가 7인 height의 6 즉, 3 1 6으로 둘러쌓인 것으로 빗물이 쌓이게 된다.

이 때, 쌓이는 빗물 양은 min(leftMa...