넓이 1인 막대들로 이루어진 고도 맵 n이 주어진다. 비가 온 뒤 이 지형에 얼마나 많은 빗물이 고이는지 계산하라.
지형은 고정이다. 비는 그렇지 않다. 각 칸은 min(왼쪽최대, 오른쪽최대) − height[i] 만큼 물을 담는다 — 그 이상도 이하도 아니다.
██ ██~ ~ ~ ████~ ██ ██~ ████~ ████████████ 0 · 2 · 4 · 6 · 8 ·10 ·
function trap(height) { let l = 0, r = height.length - 1; let lmax = 0, rmax = 0, water = 0; while (l < r) { if (height[l] < height[r]) { height[l] >= lmax ? (lmax = height[l]) : (water += lmax - height[l]); l++; } else { height[r] >= rmax ? (rmax = height[r]) : (water += rmax - height[r]); r--; } } return water; }