프론트 개발자를 위한 여정

모든 영역을 안내하는 개발자

반복문 3

[JS] 탐색 알고리즘 (이진 탐색) / 반복문, 재귀함수 함수비교

🚀 문제정렬된 배열에서 특정 값을 찾는 이진 탐색 알고리즘을 구현하시오.function binarySearch(arr, target) { // 여기에 코드 작성}console.log(binarySearch([1, 3, 5, 7, 9, 11], 5)); // 2🔹 코드function binarySearch(arr, target) { let left = 0; let right = arr.length - 1; while (left 📌 이진 탐색 문제🔎 1️⃣ 문제가 묻는 것이진 탐색 문제에서 요구하는 것은 정렬된 배열에서 특정 값을 효율적으로 찾는 방법입니다. 이진 탐색은 배열을 반씩 나누어가며 탐색을 진행하므로 시간 복잡도를 O(log N)로 줄일 수 있습니다. 문제는 일반적으로 배..

[JS] 피보나치 수 반환 / 재귀함수, 반복문, 시간복잡도,공간복잡도 비교

🚀 문제재귀를 사용하여 n번째 피보나치 수를 반환하는 함수를 작성하시오.function fibonacci(n) { // 여기에 코드 작성}console.log(fibonacci(10)); // 55🔹 코드function fibonacci(n) { if (n === 0) return 0; if (n === 1) return 1; return fibonacci(n - 1) + fibonacci(n - 2);}console.log(fibonacci(10)); // 55📌 피보나치 수열 문제🔎 1️⃣ 문제가 묻는 것일반적으로 코딩 테스트에서 피보나치 수열을 반환하는 문제는 다음을 요구할 가능성이 큽니다:✅ 정의:fibonacci(n) 함수는 n번째 피보나치 수를 반환해야 한다.피보나치 ..

메모이제이션(Memoization) vs 반복문 비교

🔥 메모이제이션 vs 반복문, 무엇이 더 효율적일까?프로그래밍에서 성능 최적화는 매우 중요한 요소입니다. 특히 반복적으로 계산해야 하는 문제에서는 어떤 방법을 선택하느냐에 따라 속도와 메모리 사용량이 크게 달라질 수 있어요. 가장 많이 비교되는 기법이 바로 메모이제이션(재귀)과 반복문(반복 구조) 입니다. 그렇다면, 두 방식 중 어떤 것이 더 효율적일까요? 🤔💡 메모이제이션(Memoization)이란?메모이제이션은 이전에 계산한 값을 저장하여 동일한 연산을 반복하지 않도록 하는 기법이에요. 주로 재귀(탑다운 방식)와 함께 사용되며, 동적 계획법(DP)의 핵심 개념 중 하나로 활용됩니다.✔️ 장점: 중복 연산을 방지하여 속도를 향상시킬 수 있음 🚀✔️ 단점: 추가적인 메모리 공간이 필요할 수 있음 ..

Algorithm 2025.03.16