🖥️Frontend/Programmers

[JavaScript] 홀짝에 따라 다른 수 반환하기

뉴발자 2024. 5. 31.
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

댓글