[JavaScript] 리트코드 - #18 4Sum (Medium)

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

📝 문제

리트코드 - #18 4Sum (Medium)


📝 답안

📌 작성코드

var fourSum = function(nums, target) {
    let result = new Array();
    let check = new Array();

    nums.sort((a, b) => {return a - b});

    for (let i = 0; i < nums.length-3; i++) {
        let newTarget = target - nums[i];
        for (let j = i+1; j < nums.length-2; j++) {
            let left = j+1;
            let right = nums.length-1;
            while (left < right) {
                if (nums[j] + nums[left] + nums[right] === newTarget) {
                    let temp = [nums[i], nums[j], nums[left], nums[right]];
                    if (check.indexOf(temp.toString()) == -1) {
                        check.push(temp.toString());
                        result.push(temp);
                    }
                    left++;
                    right--;
                } else if (nums[j] + nums[left] + nums[right] < newTarget) {
                    left++;
                } else {
                    right--;
                }
            }
        }
    }
    return result;
};

📌 결과


📌 참고사항

16번인가 15번인 3SUM 문제를 잘 활용하면 쉬운 문제

profile
어쩌면 개발자

0개의 댓글