
😎풀이
- 배열이 오름차순으로 정렬되어있는지 검증하는 헬퍼 함수
isArrayASC 정의
nums를 순회하며, 인접한 요소들의 합 계산
- 최소 합인 두 요소를 두 요소의 합으로 병합
- 모든 요소가 오름차 순이 될 때까지 작업을 수행하며 최소 작업의 수 반환
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
}