https://www.acmicpc.net/problem/14719
14719번: 빗물
첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치
www.acmicpc.net
이 문제에서 중요한 건 빗물이 고이는 구간을 설정하는 것이다
for문을 돌며 왼쪽과 오른쪽 큰 길이를 구하고
그 길이중 짧은것에 맞춰 빗물이 고이는 양을 구해주면 된다.
h, w = map(int, input().split())
arr = list(map(int, input().split()))
result = 0
for i in range(1, w-1):
leftmax = max(arr[:i])
rightmax = max(arr[i+1:])
fin = min(leftmax, rightmax)
if arr[i] < fin:
result += fin - arr[i]
print(result)'Algorithm > baekjoon' 카테고리의 다른 글
| [파이썬]baekjoon 16198: 에너지 모으기 (0) | 2023.02.09 |
|---|---|
| [파이썬]baekjoon 1496: 기타 고르기 (1) | 2023.02.09 |
| [파이썬]baekjoon 12919: A와 B 2 (2) | 2023.01.22 |
| [파이썬]baekjoon 1149: RGB거리 (0) | 2023.01.21 |
| [파이썬]baekjoon 2775: 부녀회장이 될테야 (0) | 2023.01.20 |
댓글