๐ ์ง์์ ํฉ
๐ ๋ฌธ์
๋ฌธ์ ์ค๋ช
์ ์ n
์ด ์ฃผ์ด์ง ๋, n
์ดํ์ ์ง์๋ฅผ ๋ชจ๋ ๋ํ ๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
0 < n
โค 1000
์ ์ถ๋ ฅ ์
n | result |
---|---|
10 | 30 |
4 | 6 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
n
์ด 10์ด๋ฏ๋ก 2 + 4 + 6 + 8 + 10 = 30์ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
n
์ด 4์ด๋ฏ๋ก 2 + 4 = 6์ return ํฉ๋๋ค.
โ๏ธ ํ์ด
1
2
3
4
5
6
7
8
9
10
function solution(n) {
var answer = 0;
for(let i = 0; i <= n; i++) {
if (i % 2 === 0)
answer += i;
}
return answer;
}
๋ฌธ์ ๋ฅผ ๋ณด๋ฉด์ for ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ์ฌ ํ๋ฉด ๋๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. i๋ฅผ n๋งํผ ๋ฐ๋ณตํ๊ณ , ์ง์๋ง์ ๋ํด ๊ตฌํ๋ฏ๋ก i % 2๋ฅผ ํ์ฌ ๋๋จธ์ง๊ฐ 0์ธ ๊ฐ๋ค๋ง ๋ํ๋ฉด ๋๋ค.
๐ ๋ค๋ฅธ ์ฌ๋ ํ์ด
1
2
3
4
5
// ๋ค๋ฅธ ์ฌ๋ ํ์ด
function solution(n) {
var half = Math.floor(n/2);
return half*(half+1);
}
์ด ๋ฐฉ์์ n์ Math.floor() ๋ฉ์๋๋ฅผ ํ์ฉํ์ฌ ํผ ๋ฐฉ์์ด๋ค. ๋งค๊ฐ๋ณ์ n์ 2๋ก ๋๋๊ณ ์์์ ์๋๋ ๋ฒ๋ฆฐ๋ค. ํ์ ๋ฐ ๊ฐ๊ณผ ๋ฐ๊ฐ+1์ ๊ณฑํ์ฌ ์ฝ๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.