반응형
Q. 정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
A.
내 답
function solution(n) {
let answer = 0;
for(let i=0; i<=n; i++) {
if(i%2 === 0) {
answer += i;
}
}
return answer;
}
더 좋은 답
1)
function solution(n) {
var half = Math.floor(n/2);
return half*(half+1);
}
2)
function solution(n) {
var answer = 0;
for(let i=2 ; i<=n ; i+=2)
answer += i;
return answer;
}
문제 해결 과정
우선 for문을 쓰고 안에 if문을 넣어야겠다고 생각했다
근데 나는 처음에 예를 들어 7을 함수의 인자로 받아왔다면,
7-i를 해서 7보다 작은 정수를 모두 받고 이걸 if문을 이용해 짝수인지 판별해와야겠다고 생각했다
그냥 직접 짝수만 구하는 방법도 있었는데 말이다
그리고 answer += i; 이 부분은 아직 사용이 어려웠다
다른 함수를 이용해서 넣어야하나 생각했는데 사실 저렇게 표현하는 거 여러 번 봤지만 아직 익숙하지 않다
또, 나머지를 구해야 하는데 실수로 i/2를 작성해버렸다 하핫
그리고 첫 번째 답은 보고 나서도 다음에 적용하지 못할 거 같다,,,
TIL
나머지(%)
ex.
console.log(13%5); //output : 3
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Remainder
반응형