[LeetCode] 2908. Minimum Sum of Mountain Triplets I

Chobby·어제

LeetCode

목록 보기
820/826

😎풀이

  1. nums 3중 순회
    1-1. nums[i]의 값이 nums[j] 미만인지 판별
    1-2. nums[k]의 값이 nums[j] 미만인지 판별
    1-3. 두 조건을 모두 만족할 경우, 최솟값을 현재 합계값과 비교하여 갱신
  2. 탐색된 최솟값 반환 만일, 조건을 만족하는 쌍이 없을 경우 -1 반환
function minimumSum(nums: number[]): number {
    let minSum = Infinity
    for(let i = 0; i < nums.length - 2; i++) {
        for(let j = i + 1; j < nums.length - 1; j++) {
            if(nums[i] >= nums[j]) continue
            for(let k = j + 1; k < nums.length; k++) {
                if(nums[k] >= nums[j]) continue
                minSum = Math.min(minSum, nums[i] + nums[j] + nums[k])
            }
        }
    }
    if(minSum === Infinity) return -1
    return minSum
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글