문제 난이도 : Easy


문제 유형 : Data Structures - String


문제 설명 간략 : 양의 정수 배열이 주어지고 target 값이 주어진다. 가장 짧은 연속된 부분 배열의 합이 target 값과 같아지는 길이를 반환하라 없으면 0을 반환한다.


제약사항

  • 1 <= target <= 10^9
  • 1 <= nums.length <= 10^5
  • 1 <= nums[i] <= 10^5



자바 풀이

class Solution {
    public int minSubArrayLen(int target, int[] nums) {

        int minSubArrayLen = Integer.MAX_VALUE;


        for(int i = 0; i < nums.length; i++) {
            int temp = 0;
            for(int j = i; j < nums.length; j++) {
                temp += nums[j];
                if(temp >= target) {
                    int length = j-i+1;
                    if(minSubArrayLen > length) {
                        minSubArrayLen = length;
                    }
                }
            }
        }

        if(minSubArrayLen == Integer.MAX_VALUE) {
            minSubArrayLen = 0;
        }

        return minSubArrayLen;
    }
}



출처

해커랭크 문제