[LeetCode] Remove One Element to Make the Array Strictly Increasing

아르당·2026년 7월 17일

LeetCode

목록 보기
409/561
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

인덱스가 0부터 시작하는 정수 배열 nums가 주어졌을때, 정확히 하나의 원소를 제거한 후 엄격히 증가하는 배열로 만들 수 있다면 true, 그렇지 않다면 false를 반환해라. 배열이 이미 증가하고 있다면 true를 반환해라.

Example

#1
Input: nums = [1, 2, 10, 5, 7]
Output: true
Explanation: nums에서 인덱스 2인 10을 제거하면 [1, 2, 5, 7]이 된다.
[1, 2, 5, 7]은 정확히 증가하고 있고, true를 반환한다.

#2
Input: nums = [2, 3, 1, 2]
Output: false

#3
Input: nums = [1, 1, 1]
Output: false

Constraints

  • 2 <= nums.length <= 1000
  • 1 <= nums[i] <= 1000

Solved

class Solution {
    public boolean canBeIncreasing(int[] nums) {
        int count = 0;

        for(int i = 1; i < nums.length; i++){
            if(nums[i] <= nums[i - 1]){
                count++;

                if(i > 1 && nums[i] <= nums[i - 2]){
                    nums[i] = nums[i - 1];
                }
            }
        }

        return count <= 1;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글