
해시 테이블이란?Key와 Value를 한 쌍으로 저장하는 자료구조입니다. 파이썬의 딕셔너리(dict)가 바로 해시 테이블을 기반으로 구현되어 있습니다.해시 테이블은 내부적으로 해시 함수(Hash Function)를 사용하여 Key를 고유한 숫자(해시 값)로 변환하고,

인접한 원소끼리 비교하여 자리를 교환하는 방식. 1회 순회하면 배열의 가장 마지막 원소는 가장 큰 원소가 된다(오름차순 가정)시간 복잡도: 최악, 평균 모두 O(n^2). 여기서 n은 배열의 길이<전체 과정(오름차순 가정)>1\. 전체 배열에서 인접한 원소끼리 비

정의: 정렬된 배열에서 값을 찾는 탐색 알고리즘핵심 \- 반드시 정렬된 배열에서 수행해야한다. (sort()사용)탐색 범위를 절반씩 줄여나가며 값을 찾는다시간 복잡도: O(logn)이진탐색을 구현한 파이썬 표준 라이브러리이다. bisect_left(arr, x): 정

가능한 조합을 하나하나 찾는 방식인 브루트 포스(brute-force)를 사용할 수 도 있지만, 이는 배열의 크기가 n일 때 O(n^2)의 시간복잡도를 갖기 때문에 비효율적입니다. 이러한 비효율을 해결하기 위해* 투포인터 알고리즘*을 사용할 수 있습니다. 두 포인터(T

백트래킹(Backtraking)이란? 모든 가능한 경우의 수를 탐색하는 완전 탐색(Brute Force)의 한 형태이지만, 가지치기(pruning)을 통해 불필요한 경로는 탐색하지 않는 효율적인 완전탐색입니다.백트래킹의 기본 원리1\. 어떤 문제를 여러 단계의 결정 과

피보나치 수열이란? 재귀로 구현한 피보나치(비효율적) 문제점: 중복 호출이 많아서 시간 낭비가 크다 해결책: DP 이용하기! DP를 구현하는 대표적인 두 가지 방식 **1. 메모이제이션(Memoization) - 하향식(Top-down) 접근 **- 재귀 함수 기

그래프 구조: 정점(Node)과 간선(Edge) 그래프 탐색의 두 가지 전략 깊이 우선 탐색(DFS, Depth-First Search) 너비 우선 탐색(BFS, Breadth-First Search) -> 두 전략 모두 방문한 노드를 기록하는 것이 중요! DFS

map은 해당 객체의 배열 요소들을 순회하면서 처리하는 함수이다. missions객체가 일 때, missions.map((mission) => ...) 으로 순회하면첫 번째 순회: mission = missions0두 번째 순회: mission = missions1