최대 1 분 소요

자료구조

데이터를 어떻게 저장하고 관리할지를 정하는 방식

  • 배열 (Array): 고정된 크기의 연속된 데이터 저장 공간. 인덱스로 접근 가능.
  • 문자열 (String): 문자의 배열. (조작, 탐색 등)
  • 연결 리스트 (Linked List): 요소가 포인터로 연결된 리스트. (삽입/삭제에 유리)
  • 스택 (Stack): LIFO 구조. push, pop이 주요 연산. (괄호 짝 검사, DFS)
  • 큐 (Queue): FIFO 구조. (enqueue, dequeue, BFS, 대기열)
  • 힙 (Heap): 우선순위 큐 구현에 사용. 최소 힙/최대 힙이 있음. (최솟값 빠르게 찾기)
  • 해시맵/딕셔너리 (HashMap / Dictionary): key-value 저장. 빠른 탐색 가능. (등장 횟수 세기)

알고리즘

문제를 해결하기 위한 절차나 방법

알고리즘 분류 대표 알고리즘/문제 예시
정렬 버블, 선택, 삽입, 병합, 퀵, 힙, 계수 정렬
탐색 선형, 이진 탐색 / 완전 탐색, DFS, BFS
그리디 거스름돈, 회의실 배정, 크루스칼
분할 정복 병합 정렬, 퀵 정렬, 이진 탐색
동적 계획법 (DP) 피보나치, 배낭 문제, LCS
백트래킹 N-Queen, 부분 집합, 순열/조합
우선순위 큐 기반 다익스트라, 프림, 크루스칼
최소/최대 알고리즘 투 포인터, 슬라이딩 윈도우, 이분 탐색
문자열 KMP, Trie, Z-Algorithm
기타 유니온 파인드, 위상 정렬, 세그먼트 트리

업데이트: