[프로그래머스 Level 2] 연속된 부분 수열의 합
1분 읽기
풀이 1: 투 포인터
function solution(sequence, k) {
let answer = [0, sequence.length - 1];
let start = 0;
let end = 0;
let sum = sequence[0];
let length = sequence.length;
while(start < sequence.length && end < sequence.length){
if(sum === k){
const current = end - start + 1;
if(length > current || length === current && answer[0] > start){
answer = [start, end];
length = current;
}
}
if(sum >= k){
sum -= sequence[start++];
} else {
sum += sequence[++end];
}
}
return answer;
}Two Pointers7편 중 1번째
관련 글
4분 읽기
소수 구하기
소수 판별법과 소수를 구하는 알고리즘을 정리합니다.
1분 읽기
[프로그래머스 Level 2] 미로 탈출
프로그래머스 미로 탈출을 BFS로 풀이합니다.
1분 읽기
[프로그래머스 Level 2] 마법의 엘리베이터
프로그래머스 마법의 엘리베이터를 자리수 그리디로 풀이합니다.