코테
홀짝에 따라 다른 값 반환하기
콩쥐땃쥐
2025. 1. 7. 05:09
1차시도
function solution(n) {
var answer = 0;
if (n % 2 === 0){
for (let i = 0; i < n + 1; i++){
i % 2 === 0 ? answer += i * i : answer += 0;
}
}
else {
for (let i = 0; i< n + 1; i++){
i % 2 === 0 ? answer += 0 : answer += i;
}
}
return answer;
}
통과는 했는데, 코드가 길어서 무슨 좋은 방법이 없을까 고민
function solution(n) {
if(n%2===1)
return (n+1)/2*((n + 1)/2) ;
else
return n*(n+1)*(n+2)/6;
}
n이 짝수일 때는 등차수열의 합 공식을 적용하였고, n이 홀수일 때는 자연수 거듭 제곱의 합을 구하는 공식을 적용한 것으로 보입니다. 반복문과 조건문을 활용하지 않는 멋진 풀이네요.
등차수열...? 코테를 풂에 있어서 수학을 뗄 수가 없나보다...