이건 뭐... 그냥 아이디어를 외워버려야 겠다.
시간투자를 많이 했는데도 풀이를 보고나니 힘이 확 풀렸다 ㅋㅋ
function solution(m, arr) {
let answer = 0,
sum = 0,
l = 0;
for (let r = 0; r < arr.length; r++) {
sum += arr[r];
while (sum > m) {
sum -= arr[l++];
}
answer += r - l + 1;
}
return answer;
}
let a = [1, 3, 1, 2, 3];
console.log(solution(5, a));
answer
가 1씩 증가해야 한다는 고정관념(?)을 갖고있었던 것 같다....
r - l + 1
이렇게 다 더해준다는 생각은 아예 못했다...