์ฝ๋
class Solution {
// ํฌํฌ์ธํฐ
public int trap(int[] height) {
int left = 0, right = height.length -1;
int leftMax = 0, rightMax = 0;
int water = 0;
while (left < right) {
if (height[left] < height[right]) {
if (height[left] >= leftMax) {
// ์ผ์ชฝ ์ต๋ ๋์ด ๊ฐฑ์
leftMax = height[left];
} else {
// ํ์ฌ ๋์ด์ ์ผ์ชฝ ์ต๋ ๋์ด์ ์ฐจ์ด๋งํผ ๋ฌผ์ ์ ๋์
water += leftMax - height[left];
}
left++;
} else {
if (height[right] >= rightMax) {
// ์ค๋ฅธ์ชฝ ์ต๋ ๋์ด ๊ฐฑ์
rightMax = height[right];
} else {
// ํ์ฌ ๋์ด์ ์ค๋ฅธ์ชฝ ์ต๋ ๋์ด์ ์ฐจ์ด๋งํผ ๋ฌผ์ ์ ๋์
water += rightMax - height[right];
}
right--;
}
}
return water;
}
}
Java
๋ณต์ฌ
๋ฌธ์ ํด๊ฒฐ ์์ด๋์ด
ํฌํฌ์ธํฐ ์ผ๋๋ฐ, ๋ฌธ์ ์ดํด๋ ๊ธ๋ฐฉ ๋ผ๋ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ด ๊น๋ค๋ก์์ ์ค๋ ๊ฑธ๋ ธ๋ค.