Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트(JavaScript)로 n번째 짝수 반환하기


문제

숫자 하나(n)를 인수로 받는 자바스크립트 함수를 작성해야 합니다. 이 함수는 자연수 중에서 n번째 짝수를 계산하여 그대로 반환해야 합니다.

짝수는 2의 배수이므로 반복문이나 배열 없이도 간단한 산술 연산 한 번으로 답을 구할 수 있습니다. 시간 복잡도 O(1)로 처리되는 아주 효율적인 문제입니다.

접근 방법

이 풀이에서 사용하는 논리는 다음과 같습니다.

  • 입력받은 수에 2를 곱합니다.
  • 여기서 2를 빼면 원하는 결과가 됩니다.

즉, n번째 짝수를 2 × n − 2 공식으로 계산하는 방식입니다. 이 기준은 0을 첫 번째 짝수로 보는 것이며, 만약 2를 첫 번째 짝수로 센다면 공식은 단순히 2 × n이 됩니다.

예제 코드

다음은 위 로직을 구현한 코드입니다 −

const num = 67765;
const nthEven = (num = 1) => {
    const next = num * 2;
    const res = next - 2;
    return res;
};
console.log(nthEven(num));

출력 결과

135528

코드 설명

입력값이 67765일 때, 먼저 67765 × 2 = 135530을 계산한 뒤 여기서 2를 빼면 최종 결과인 135528이 반환됩니다.

이 함수는 화살표 함수(arrow function)로 정의되었으며, 매개변수에 기본값 1이 지정되어 있어 인수 없이 호출하더라도 오류 없이 동작한다는 장점이 있습니다.

몇 가지 추가 예시를 살펴보면 다음과 같습니다.

  • nthEven(1) → 0
  • nthEven(2) → 2
  • nthEven(100) → 198

이처럼 곱셈과 뺄셈 두 단계만으로 어떤 큰 수가 입력되더라도 즉시 n번째 짝수를 구할 수 있습니다.