π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[μκ³ λ¦¬μ¦ μν νλ°μ§ λλ°μ§πΎ] μ¬λΌμ΄λ© μλμ° μκ³ λ¦¬μ¦ λ³Έλ¬Έ
π©π» μ»΄ν¨ν° ꡬ쑰/Algorithm
[μκ³ λ¦¬μ¦ μν νλ°μ§ λλ°μ§πΎ] μ¬λΌμ΄λ© μλμ° μκ³ λ¦¬μ¦
μ§μ§μνμΉ΄ 2023. 6. 26. 13:21728x90
λ°μν
<λ³Έ λΈλ‘κ·Έλ μ½λ©λ¬Έ codingmoon λμ μ νλΈλ₯Ό μ°Έκ³ ν΄μ 곡λΆνλ©° μμ±νμμ΅λλ€ :-)>
=> μ΄ λ°©λ²μΌλ‘ νμ΄λ³΄μΈμ (μ¬λΌμ΄λ© μλμ° μκ³ λ¦¬μ¦)
𫧠μ¬λΌμ΄λ© μλμ° μκ³ λ¦¬μ¦
: λΆλΆ λ°°μ΄μ μμλ€μ μ΄λ ν 쑰건 νμ κ³μ°ν λ μ¬μ©
: νλμ νΉμ λ²μλ₯Ό μ ν΄ λκ³ , κ·Έ μλμ°λ₯Ό μ΄λμν€λ©΄μ λ²μ λ΄μ μλ μμλ€μ κ³μ°ν΄μ€
: μλμ° λ²μ λ΄μ λͺ¨λ μ«μλ€μ ν©μ°νκ³ , λ²μ λ°μΌλ‘ λ²μ΄λ μ«μλ€μ λΉΌμ€λ€
πΎ μ¬μ΄μ¦κ° kμΈ, λΆλΆ λ°°μ΄(subarrary) μ μ΅λ ν© κ΅¬νκΈ°
function maxSumOfSubArrary(arr: number[], k:numnber) {
let windowSum = 0;
let maxSum = -Infinity;
for (let i = 0; i < arr.length; i ++) {
windowSum += arr[i];
if (i >= k - 1) {
maxSum = Math.max(windowSum, maxSum);
windowSum -= arr[i = (k-1)];
}
}
return maxSum;
}
maxSumOfSubArrary([5, 7, -1, 14, 3, 12, 1, 4], 3)
728x90
λ°μν
'π©βπ» μ»΄ν¨ν° ꡬ쑰 > Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Comments