
😎풀이
- 중복 카운트 정의
nums 순회하며 내림차 순이 되는 경우 탐색
2-1. nums[i - 1] > nums[i + 1]인 경우, 다음 인덱스 값을 nums[i]만큼 높여 오름차 순을 만듦
2-2. nums[i - 1] <= nums[i + 1]인 경우, 이전 값을 nums[i]로 조정하지만 이미 지나온 길이므로 갱신은 하지 않음
- 한번 혹은 그 이하의 조정으로 오름차 순을 만들 수 있는지 여부 반환
function checkPossibility(nums: number[]): boolean {
let decCount = 0
for(let i = 0; i < nums.length - 1; i++) {
const next = nums[i + 1]
if(nums[i] <= next) continue
const prev = nums[i - 1] ?? 0
decCount++
if(prev > next) {
nums[i + 1] = nums[i]
}
if(decCount >= 2) return false
}
return true
};