검색 알고리즘
·
Algorithm/Theory
검색 알고리즘은 컴퓨터 과학에서 필수적인 주제입니다. 데이터를 효율적으로 검색하는 방법을 이해하면 프로그램의 성능을 크게 향상시킬 수 있습니다. 이 글에서는 다양한 검색 알고리즘을 소개하고, 각각의 구현 방법과 시간 복잡도를 설명합니다. 목표선형 검색분류된 배열에서의 이진 검색나이브 문자열 검색 알고리즘선형 검색 소개선형 검색은 가장 간단한 검색 방법 중 하나입니다. 이 방법은 배열의 각 요소를 순서대로 확인하여 값이 일치하는지 확인합니다. JavaScript에서는 indexOf, includes, find, findIndex와 같은 배열 함수를 사용하여 선형 검색을 수행할 수 있습니다.한 번에 하나씩 검색하는 이 방법을 선형 검색이라고 합니다. 선형 검색 연습배열과 값을 받아들이고 그 값이 배열 안에 ..
(더 어려운) 재귀 연습 문제 1부
·
Algorithm/Theory
문제1문자열을 받아들이고 그 문자열의 역순인 문자열을 반환하는 reverse 함수를 작성합니다.function reverse(string){}// reverse('awesome') // 'emosewa'// reverse('rithmschool') // 'loohcsmhtir'정답더보기function reverse(string) { if (string.length === 1) { return string; } return reverse(string.slice(1)) + string[0];} 문제2전달된 문자열이 팔린드롬(앞으로 읽으나 뒤로 읽으나 동일한 문자)인 경우 true 를 반환하는 isPalindrome이라는 재귀(recursive) 함수를 작성하시오. 팔린드롬이 아닐 경우 false ..
재귀 연습 문제
·
Algorithm/Theory
문제 1밑과 지수를 받아들이는 power라는 함수를 작성합니다. 이 함수는 밑의 거듭제곱을 지수로 반환해야 합니다. 이 함수는 Math.pow()의 기능을 모방해야 합니다. 음의 밑과 지수에 대해서는 신경쓰지 마세요. // power(2,0) // 1// power(2,2) // 4// power(2,4) // 16function power(){}정답더보기// power(2,0) // 1// power(2,2) // 4// power(2,4) // 16function power(num, pow){ if(pow === 0) { return 1; } return num * power(num, pow - 1)} 문제 2숫자를 받아 해당 숫자의 계승(팩토리얼)을 반환하는 팩토리얼 함..
재귀 (Recursion)
·
Algorithm/Theory
재귀의 기본 개념재귀는 문제를 더 작은 부분으로 나누어, 종료점에 도달할 때까지 반복적으로 수행하는 방법입니다. 목표재귀가 무엇인지, 어떻게 유용하게 사용할 수 있는지 이해하기재귀 함수 작성의 두 가지 핵심 요소호출 스택이 재귀와 어떤 관련이 있는지 이해하기헬퍼 메소드 재귀와 순수 재귀의 차이점과 비교 재귀 함수를 사용하는 이유재귀는 자기 자신을 호출하는 절차로, 많은 상황에서 유용하게 사용됩니다. 복잡한 데이터 구조나 알고리즘을 다룰 때 재귀가 큰 도움이 될 수 있습니다.예를 들어:JSON.parse / JSON.stringifydocument.getElementById와 같은 DOM 탐색 알고리즘객체 순회 (Object traversal)복잡한 알고리즘에서 재귀로 작성하는 것이 더 깔끔하고 이해하기 ..
얼은펭귄
'Algorithm' 카테고리의 글 목록 (2 Page)