알고리즘 영역에서 너무 약하다보니 Lv.0부터 다시 차근차근 풀고 있는데 도움이 정말 많이 되는것 같다!!
짝수의합을 풀면서 가장 먼저 생각이 든건 아 for문으로 풀어야지 근데 이거 reduce 함수로도 될것 같은데 했지만 reduce 함수는 자주 쓰던 함수가 아니기 때문에 for문으로 손이 먼저 갔다..........
function solution(n) {
let answer = 0;
for(let i = 0; i <= n; i++){
if(i%2 === 0) answer += i
}
return answer
}
이것이 내가 푼 문제인데
다른사람의 풀이를 보고 찾아보고 하다가 가우스의 덧셈이라는것을 보고는
아 이거 정말 편리하네..???하고 시도해보았다
function solution(n) {
var num = Math.floor(n/2); // 5
return num*(num+1); // num = 5 * (5+1) === 5 * 6 =30
}
이렇게 된다는 것이었다................
num 은 10에서 반으로 나누었으니 5가 되고
5 * ( 5 + 1)은 즉!!
(10/2) * (10/2+1) 가 된다.
짝수의 덧셈에서 활용할 수 있는 가우스의 덧셈!!! 기억하자