반응형
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;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - LeetCode (easy) 1844. Replace All Digits with Characters (0) | 2024.08.23 |
---|---|
(C++) - LeetCode (easy) 1837. Sum of Digits in Base K (0) | 2024.08.21 |
(C++) - LeetCode (easy) 1822. Sign of the Product of an Array (0) | 2024.08.15 |
(C++) - LeetCode (easy) 1816. Truncate Sentence (0) | 2024.08.14 |
(C++) - LeetCode (easy) 1805. Number of Different Integers in a String (0) | 2024.08.13 |