11. Container With Most Water

최기환·2023년 3월 8일
0

11. Container With Most Water

접근법

해결법이 생각이 나지 않아 솔루션을 보고서야 이해했다.
투포인터 접근이다.
water container의 너비는 가로 * 세로의 사각형이다.
i = 0, j = height - 1로 두게되고 투포인터를 서서히 좁힐때, 사각형의 너비가 첫 경우보다 커지는 경우는 가로길이는 최대임으로 세로길이가 증가했을 때 밖에 없다.

/**
 * @param {number[]} height
 * @return {number}
 */
var maxArea = function(height) {
    let res = 0;
    let i = 0;
    let j = height.length - 1;
    while (i < j) {
        res = Math.max(res, Math.min(height[i], height[j]) * (j - i));
        height[i] < height[j] ? i++ : j--;
    }
    return res;
};

풀이법을 보고 왜 이걸 못풀었지 했던 문제다.
열심히 해야겠다.
다양한 사고가 필요하다는 생각이 든다.

profile
프론트엔드 개발자를 꿈꾸는 취준생(백수) 입니다!

0개의 댓글