<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function solution(k, arr){ let x = k-1, aws = 0; while (x < arr.length) { let sum = 0; for(let i = x - (k-1); i <= x; i++) sum += arr[i]; if(aws < sum) aws = sum; x++; } return aws; } let a=[12, 15, 11, 20, 25, 10, 20, 19, 13, 15]; console.log(solution(3, a)); </script> </body> </html>
x를 뒤로 한칸씩 이동시키며 sum을 구해주는 방식이다.
sum을 구하기 위해 매번 인자들을 더해줘야하는 비효율성이 있다.
<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function solution(k, arr){ let answer, sum=0; for(let i=0; i<k; i++) sum+=arr[i]; answer=sum; for(let i=k; i<arr.length; i++){ sum+=(arr[i]-arr[i-k]); answer=Math.max(answer, sum); } return answer; } let a=[12, 15, 11, 20, 25, 10, 20, 19, 13, 15]; console.log(solution(3, a)); </script> </body> </html>