https://school.programmers.co.kr/learn/courses/30/lessons/178870
나의풀이
class Solution {
public int[] solution(int[] sequence, int k) {
int[] answer = new int[2];
int[] sum= new int[sequence.length+1];
sum[0]=0;
for(int i=0; i<sequence.length; i++){
sum[i+1]=sum[i]+sequence[i];
}
int start=0, end=0;
int minVal =Integer.MAX_VALUE;
while(start <= end){
if(end == sum.length){
break;
}
int partSum = sum[end]- sum[start];
if(partSum == k){//같아도 안되고 커야함.
if(minVal > end-start){
answer[0] = start;
answer[1] = end-1;
minVal=end-start;
}
start++;
}else if(partSum <k){
end++;
}else{
start++;
}
}
return answer;
}
}
'코테풀이' 카테고리의 다른 글
[프로그래머스] 호텔 대실 java 풀이(LEVEL2) (0) | 2023.05.25 |
---|---|
[프로그래머스] 줄 서는 방법 java 풀이 (LEVEL2) (0) | 2023.05.22 |
[프로그래머스] 롤케이크 자르기 java풀이 (LEVEL2) (0) | 2023.05.20 |
[프로그래머스] n^2 배열 자르기 java 풀이(LEVEL2) (0) | 2023.05.20 |
[프로그래머스] 택배상자 java 풀이 (LEVEL2) (0) | 2023.05.20 |