728x90
문제 : https://leetcode.com/problems/container-with-most-water/
난이도 : Medium
풀이
class Solution:
def maxArea(self, height: List[int]) -> int:
l, r = 0, len(height) - 1
water = 0
while l < r:
water = max(water, (r - l) * min(height[l], height[r])) # 저장할 수 있는 최대 물
if height[l] < height[r]:
l += 1
else:
r -= 1
return water
대학생 때 풀었던 거 같은데.. 오랜만에 보는 문제ㅎㅎ
왼쪽에서 움직이는 포인터(l)와 오른쪽에서 움직이는 포인터(r)를 두고
저장할 수 있는 물의 최댓값을 계산해준다.
그리고 높이가 더 높은 곳은 그대로 두고 반대쪽 포인터를 움직이면서 최댓값을 찾으면 된다.
728x90