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의 문법과 기능을 익히는 데 도움이 됩니다.