[LeetCode] Minimum Value to Get Positive Step by Step Sum

아르당·6일 전

LeetCode

목록 보기
296/303
post-thumbnail

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

Problem

정수 배열 nums가 주어졌을 때, 처음 양수 값 startValue로 시작한다.
각 반복마다, startValue에 nums에 있는 요소들을 단계별로(왼쪽에서 오른쪽으로) 더해서 합계를 계산한다.
단계별 합계가 1보다 작아지지 않는 최소 양수 값을 반환해라.

Example

#1
Input: nums = [-3, 2, -3, 4, 2]
Output: 5
Explanation: 만약 startValue = 4를 고른다면, 세번째 단계에서 단계별 합이 1보다 작아진다.

#2
Input: nums = [1, 2]
Output: 1
Explanation: startValue의 최소값은 양수여야한다.

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

Constraints

  • 1 <= nums.length <= 100
  • -100 <= nums[i] <= 100

Solved

class Solution {
    public int minStartValue(int[] nums) {
        int min = 0;
        int sum = 0;

        for(int num : nums){
            sum += num;
            min = Math.min(min, sum);
        }

        return 1 - min;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글