코딩 스쿨 JavaScript

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

JavaScript Exercises

JavaScript Exercises: 실습 문제로 JavaScript 이해하기

JavaScript Exercises는 JavaScript의 기초와 고급 개념을 이해하고 연습하기 위한 문제들입니다. 이 연습 문제를 통해 코딩 실력을 향상시키고, JavaScript의 다양한 기능을 익힐 수 있습니다. 아래에 다양한 난이도의 연습 문제를 제시하겠습니다.


1. 기초 문제

1.1. 숫자 더하기

두 개의 숫자를 입력받아 그 합을 반환하는 함수를 작성하세요.

function addNumbers(num1, num2) {
    // 여기에 코드를 작성하세요
}

예시

console.log(addNumbers(3, 5)); // 8

1.2. 문자열 뒤집기

주어진 문자열을 뒤집어 반환하는 함수를 작성하세요.

function reverseString(str) {
    // 여기에 코드를 작성하세요
}

예시

console.log(reverseString('hello')); // 'olleh'


2. 중급 문제

2.1. 배열에서 최대값 찾기

주어진 배열에서 최대값을 찾아 반환하는 함수를 작성하세요.

function findMax(arr) {
    // 여기에 코드를 작성하세요
}

예시

console.log(findMax([1, 3, 5, 7, 9])); // 9

2.2. 배열의 평균 구하기

주어진 배열의 평균을 계산하여 반환하는 함수를 작성하세요.

function calculateAverage(arr) {
    // 여기에 코드를 작성하세요
}

예시

console.log(calculateAverage([1, 2, 3, 4, 5])); // 3


3. 고급 문제

3.1. 중복된 요소 제거

주어진 배열에서 중복된 요소를 제거하고 새 배열을 반환하는 함수를 작성하세요.

function removeDuplicates(arr) {
    // 여기에 코드를 작성하세요
}

예시

console.log(removeDuplicates([1, 2, 3, 1, 2, 4])); // [1, 2, 3, 4]

3.2. 팩토리얼 계산

주어진 숫자의 팩토리얼을 계산하는 함수를 재귀적으로 작성하세요.

function factorial(n) {
    // 여기에 코드를 작성하세요
}

예시

console.log(factorial(5)); // 120


4. 추가 연습 문제

4.1. FizzBuzz 문제

1부터 100까지의 숫자를 출력하되, 3의 배수는 "Fizz", 5의 배수는 "Buzz", 두 수의 배수는 "FizzBuzz"로 출력하는 프로그램을 작성하세요.

function fizzBuzz() {
    // 여기에 코드를 작성하세요
}

4.2. 오브젝트의 프로퍼티 출력

주어진 오브젝트의 모든 프로퍼티를 출력하는 함수를 작성하세요.

function printObjectProperties(obj) {
    // 여기에 코드를 작성하세요
}

예시

const person = { name: 'Alice', age: 25, city: 'Wonderland' };
printObjectProperties(person);
// Output:
// name: Alice
// age: 25
// city: Wonderland


5. 해답 예시

아래는 각 문제의 해답 예시입니다.

5.1. 숫자 더하기

function addNumbers(num1, num2) {
    return num1 + num2;
}

5.2. 문자열 뒤집기

function reverseString(str) {
    return str.split('').reverse().join('');
}

5.3. 배열에서 최대값 찾기

function findMax(arr) {
    return Math.max(...arr);
}

5.4. 배열의 평균 구하기

function calculateAverage(arr) {
    const sum = arr.reduce((a, b) => a + b, 0);
    return sum / arr.length;
}

5.5. 중복된 요소 제거

function removeDuplicates(arr) {
    return [...new Set(arr)];
}

5.6. 팩토리얼 계산

function factorial(n) {
    if (n === 0 || n === 1) return 1;
    return n * factorial(n - 1);
}

5.7. FizzBuzz 문제

function fizzBuzz() {
    for (let i = 1; i <= 100; i++) {
        if (i % 3 === 0 && i % 5 === 0) {
            console.log('FizzBuzz');
        } else if (i % 3 === 0) {
            console.log('Fizz');
        } else if (i % 5 === 0) {
            console.log('Buzz');
        } else {
            console.log(i);
        }
    }
}

5.8. 오브젝트의 프로퍼티 출력

function printObjectProperties(obj) {
    for (const key in obj) {
        if (obj.hasOwnProperty(key)) {
            console.log(`${key}: ${obj[key]}`);
        }
    }
}


6. 요약

JavaScript Exercises를 통해 다양한 문제를 해결함으로써 JavaScript의 기초와 고급 개념을 이해하고, 코딩 능력을 향상시킬 수 있습니다. 각 문제를 풀어보며 JavaScript의 문법과 기능을 익히는 데 도움이 됩니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com