[JavaScript] 리트코드 - #11 Container With Most Water (Medium)

배똥회장·2022년 11월 21일
0

📝 문제

리트코드 - #11 Container With Most Water (Medium)


📝 답안

📌 작성코드1

var maxArea = function(height) {
    let result = 0;
    for (let i = 0; i < height.length; i++) {
        if (result > height[i] * (height.length-1-i)) continue;
        for (let j = i+1; j < height.length; j++) {
            var temp = (j - i) * Math.min(height[i], height[j]);
            result = Math.max(temp, result);
        }
    }
    return result;
};

📌 결과1


📌 작성코드2

var maxArea = function(height) {
    let left = 0;
    let right = height.length-1;
    let result = 0;
    
    while (left < right) {
        result = Math.max(result, (right - left) * Math.min(height[left], height[right]));

        if (height[left] < height[right]) left++; else right--;
    }
    return result;
};

📌 결과2


📌 느낀 점

일단 코드1은 내가 직접 생각해서 작성한 코드이고, 시간 효율성이 떨어져서 타인의 코드를 참고해서 다시 푼 것이 코드2이다.

(참고 링크)

이런 그래프 문제를 어려워하는데, 이렇게도 풀 수 있다는 것을 알게 되었고, 나중에 다시 꼭 풀어볼 예정임

profile
어쩌면 개발자

0개의 댓글