[JavaScript] 리트코드 - #16 3Sum Closest (Medium)

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

📝 문제

리트코드 - #16 3Sum Closest (Medium)


📝 답안

📌 작성 코드

var threeSumClosest = function(nums, target) {
    let result = Number.MAX_VALUE;
    let number = Number.MAX_VALUE;

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

    for (let start = 0; start < nums.length; start++) {
        let left = start+1;
        let right = nums.length-1;

        while (left < right) {
            if (Math.abs(target - (nums[start] + nums[left] + nums[right])) < number) {
                result = nums[start] + nums[left] + nums[right];
                number = Math.abs(target - (nums[start] + nums[left] + nums[right]));
            }
            if (nums[start] + nums[left] + nums[right] > target) {
                right--;
            } else if (nums[start] + nums[left] + nums[right] == target) {
                break;
            } else {
                left++;
            }
        }
    }
    return result;
};

📌 결과


📌 참고사항

이 전 단계인 #15 3Sum에서 작성한 코드를 활용하여 풀면 됨

profile
어쩌면 개발자

0개의 댓글