[LeetCode] 3507. Minimum Pair Removal to Sort Array I

Chobby·2026년 1월 14일

LeetCode

목록 보기
923/962

😎풀이

  1. 배열이 오름차순으로 정렬되어있는지 검증하는 헬퍼 함수 isArrayASC 정의
  2. nums를 순회하며, 인접한 요소들의 합 계산
  3. 최소 합인 두 요소를 두 요소의 합으로 병합
  4. 모든 요소가 오름차 순이 될 때까지 작업을 수행하며 최소 작업의 수 반환
function minimumPairRemoval(nums: number[]): number {
    let operation = 0
    while(!isArrayASC(nums)) {
        const sums = []
        for(let i = 1; i < nums.length; i++) {
            sums.push(nums[i - 1] + nums[i])
        }
        const minSum = Math.min(...sums)
        const minIdx = sums.indexOf(minSum)
        nums.splice(minIdx, 2, minSum)
        operation++
    }
    return operation
};

function isArrayASC(nums: number[]) {
    for(let i = 1; i < nums.length; i++) {
        if(nums[i] < nums[i - 1]) return false
    }
    return true
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글