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이 홀수일 때는 자연수 거듭 제곱의 합을 구하는 공식을 적용한 것으로 보입니다. 반복문과 조건문을 활용하지 않는 멋진 풀이네요.
등차수열...? 코테를 풂에 있어서 수학을 뗄 수가 없나보다...
'코테' 카테고리의 다른 글
flag에 따라 다른 값 반환하기 (0) | 2025.01.08 |
---|---|
조건 문자열 (0) | 2025.01.08 |
공배수 (0) | 2024.11.30 |
n의 배수 (0) | 2024.11.29 |
두 수의 연산값 비교하기 (0) | 2024.11.29 |