본문 바로가기

Algorithm/Implementation

(C++) - LeetCode (easy) 1413. Minimum Value to Get Positive Step by Step Sum

반응형

https://leetcode.com/problems/minimum-value-to-get-positive-step-by-step-sum/description/

구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

정답 value, 누적값 acc를 선언 후 각각 0으로 초기화합니다.

📔 풀이과정

nums의 원소에 대해 loop를 수행합니다.

1. acc에 현재값을 더합니다.

2. 현재 누적값이 1보다 작다면 value값을 1 - acc(조정이 필요한 구간까지의 합)값만큼 더해서 조정해줍니다. 이후 acc는 다시 1로 초기화됩니다.

3. nums의 값이 모두 양수라면 최소 start value인 1을 value에 저장합니다.

📔 정답 출력 | 반환

value를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    int minStartValue(vector<int>& nums) {
        int value = 0;
        int acc = 0;
        for(auto n : nums) {
            acc += n;
            if (acc < 1) {
                value += 1 - acc;
                acc = 1;
            }
        }
        if(!value) value = 1;
        return value;
    }
};

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