728x90
문제
양의 정수 n이 매개변수로 주어진다.
n이 홀수인 경우 n 이하의 모든 홀수를 더한 값을 반환하고, 양수인 경우 n 이하의 모든 짝수의 제곱의 합을 반환해라.
728x90
나의 풀이
// n이 홀수인 경우
function odd(n) {
let result = 0;
for( let i=n; i>0; i-- ) {
if(i % 2) {
result += i;
}
}
return result;
}
// n이 짝수인 경우
function even(n) {
let result = 0;
for( let i=n; i>0; i-- ) {
if(!(i % 2)) {
result += Math.pow(i, 2);
}
}
return result;
}
function solution(n) {
return n % 2 ? odd(n) : even(n);
}
다른 풀이
function solution(n) {
if(n % 2 === 1)
return (n + 1) / 2 * ((n + 1) / 2);
else
return n * (n + 1) * (n + 2) / 6;
}
728x90
'🧬알고리즘 > Programmers' 카테고리의 다른 글
[JavaScript] 수 조작하기 1 (0) | 2024.06.03 |
---|---|
[JavaScript] 주사위 게임 (0) | 2024.06.03 |
[JavaScript] 더 큰 수 반환하기 (0) | 2024.05.31 |
[JavaScript] 문자열 곱하기 (0) | 2024.05.31 |
[JavaScript] 두 문자열의 문자 섞기 (0) | 2024.05.31 |
댓글