검색 알고리즘
·
Algorithm/Theory
검색 알고리즘은 컴퓨터 과학에서 필수적인 주제입니다. 데이터를 효율적으로 검색하는 방법을 이해하면 프로그램의 성능을 크게 향상시킬 수 있습니다. 이 글에서는 다양한 검색 알고리즘을 소개하고, 각각의 구현 방법과 시간 복잡도를 설명합니다. 목표선형 검색분류된 배열에서의 이진 검색나이브 문자열 검색 알고리즘선형 검색 소개선형 검색은 가장 간단한 검색 방법 중 하나입니다. 이 방법은 배열의 각 요소를 순서대로 확인하여 값이 일치하는지 확인합니다. JavaScript에서는 indexOf, includes, find, findIndex와 같은 배열 함수를 사용하여 선형 검색을 수행할 수 있습니다.한 번에 하나씩 검색하는 이 방법을 선형 검색이라고 합니다. 선형 검색 연습배열과 값을 받아들이고 그 값이 배열 안에 ..
문제 해결 패턴
·
Algorithm/Theory
문제 해결 패턴 소개프로그래밍 문제를 효과적으로 해결하기 위해 다양한 문제 해결 패턴이 존재합니다. 이 글에서는 대표적인 문제 해결 패턴을 소개하고, 각 패턴에 대한 예시와 코드 리팩토링을 통해 성능을 개선하는 방법을 설명합니다. 빈도수 세기 패턴 (Frequency Counters)빈도수 세기 패턴은 값의 빈도를 수집하기 위해 객체나 집합을 사용하는 방법입니다. 이를 통해 배열이나 문자열에서 중첩 루프(O(N^2))를 사용하지 않고 효율적으로 문제를 해결할 수 있습니다. 예시 문제두 개의 배열을 입력으로 받는 same이라는 함수를 작성하세요.이 함수는 첫 번째 배열의 모든 값이 두 번째 배열에서 제곱된 값과 일치하면 true를 반환해야 합니다.값의 빈도수도 동일해야 합니다.same([1,2,3], [4..
얼은펭귄
'시간 복잡도' 태그의 글 목록