본문 바로가기

Algorithm/Implementation

(C++) - LeetCode (easy) 1827. Minimum Operations to Make the Array Increasing

반응형

https://leetcode.com/problems/minimum-operations-to-make-the-array-increasing/description/

간단 구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

1. 증가시킬 횟수 operation을 선언 후 0으로 초기화해줍니다.2. 수를 비교할 변수 pivot을 선언 후 nums[0]값으로 초기화해줍니다.

📔 풀이과정

nums의 원소를 순회하며 다음을 진행합니다.

1. 현 pivot값이 현 원소 이상인 경우 : operation은 pivot + 1 - 현 원소값 만큼 수행해야하므로 해당 값을 갱신해줍니다. 또한 pivot은 이제 pivot + 1값을 가지도록 재할당합니다.

2. 이외의 경우 : pivot값은 현 원소값으로 갱신합니다.

📔 정답 출력 | 반환

operation값을 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    int minOperations(vector<int>& nums) {
        int operation = 0;
        int pivot = nums[0];
        for(int i = 1; i < nums.size(); i++) {
            if(pivot >= nums[i]) {
                operation += pivot + 1 - nums[i];
                pivot = pivot + 1;
            } else {
                pivot = nums[i];
            }
        }
        return operation;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.