본문 바로가기
C.W.K.
Stream
← C.W.K. Quests
🧮

Data Structures & Algorithms Quest

최근 수정: 2026-07-31

아는 것을 담는 모양, 그 위에서 한 번 움직일 때 치르는 값

자료구조와 알고리즘을 제대로 가르쳐. 면접 통과용 고문이 아니라 어떤 시스템이든 꿰뚫어 보는 렌즈로. 코드보다 개념과 비용이 늘 먼저야.

15 tracks · 85 lessons · ~16h · difficulty: beginner-to-intermediate

Level 0호기심 많은 입문자
0 XP0/85 lessons0/19 achievements
0/100 XP to next level100 XP to go0% complete
'자료구조가 대체 뭔데'에서 출발해 동적 계획법, 그래프 알고리즘, 계산의 한계까지 15트랙을 걸어. 진짜 돌아가는 파이썬, 손으로 만져지는 복잡도, 그리고 아무도 문턱에서 밀어내지 않는 피파의 말투로. 레슨 85개 전부에 같은 프레임이 깔려 있어. 아는 것을 어떤 구조에 담느냐, 그리고 그 위에서 돌리는 연산 하나하나가 얼마를 치르느냐. 이건 컴퓨터만이 아니라 어떤 시스템이든 이해하는 방식이야. 리트코드 갈아넣기도, 외울 주문도 없어. 구조와 비용, 그리고 문법이 다 흐려진 뒤에도 남는 렌즈.

Tracks

  1. 01🧱기초

    0/5 lessons

    자료구조랑 알고리즘이 진짜 뭔지

    구조도 정렬 트릭도 잠깐 미뤄두고 먼저 묻자. 우리 지금 대체 뭘 하는 거야? 자료구조는 데이터에 '그 위에서 싸게 되는 연산'이 묶인 거야. 알고리즘은 가격표가 붙은 레시피고. 그리고 승부를 가르는 건 영리함이 아니라 비용이야.

    Lesson list (5)퀴즈 · 4 문제
  2. 02⏱️복잡도

    0/6 lessons

    값을 치르기 전에 가격표 읽기

    빅오는 외울 주문이 아니라 질문 하나에 대한 답이야. 데이터가 커지면 일은 얼마나 더 커져? 이 트랙은 그 질문을 아무 코드에나 겨눠서 몇 초 만에 쓸 수 있는 도구로 바꿔.

    Lesson list (6)퀴즈 · 4 문제
  3. 03🔢배열과 문자열

    0/6 lessons

    한 줄로 붙은 메모리, 거기서 열리는 기법들

    메모리를 한 줄로 쓰는 구조의 대표가 배열이야. 인덱싱이 왜 O(1)인지, 값을 끼워 넣을 때 무슨 비용이 붙는지, 캐시 지역성이 왜 빅오 밖에서 성능을 가르는지 여기서 다뤄. 문자열도 인덱스로 접근하는 시퀀스니까 투 포인터, 슬라이딩 윈도우, 누적 합이 그대로 넘어가. 다만 Python 문자열의 내부 표현까지 단순한 문자 배열이라고 넘겨짚진 마.

    Lesson list (6)퀴즈 · 4 문제
  4. 04🔗연결 리스트

    0/5 lessons

    즉시 인덱싱을 내주고 즉시 재연결을 얻는 거래

    연결 리스트는 원소를 메모리 여기저기 흩어 놓고 포인터로 엮어. O(1) 인덱싱은 내주는 대신, 노드 핸들과 소유 리스트의 경계 정보를 이미 쥐고 있는 자리에서는 삽입과 삭제를 O(1)에 해내지. 이 거래가 언제 남는 장사인지, 그리고 캐시 비용 때문에 그 이득이 자주 깎여 나가는 이유까지 아는 게 이 트랙의 진짜 소득이야.

    Lesson list (5)퀴즈 · 4 문제
  5. 05🥞스택과 큐

    0/5 lessons

    어느 쪽 끝을 건드리느냐, 그 규율

    스택과 큐는 같은 아이디어에서 규칙 하나만 바꾼 거야. 어느 쪽 끝에서 꺼내느냐. 스택은 마지막에 들어온 게 먼저 나가고(콜 스택, 실행 취소), 큐는 먼저 들어온 게 먼저 나가지(선착순, BFS). 둘 다 추상 자료형이야. 특정 구현이 아니라 접근 순서를 정한 계약이라는 뜻이고.

    Lesson list (5)퀴즈 · 4 문제
  6. 06#️⃣해싱

    0/6 lessons

    마법에 가장 가까운 것: 즉시 조회

    해시맵은 해시값으로 후보 위치를 계산한 다음 키를 비교하고 충돌을 처리해서 평균 O(1)에 찾고 넣고 지워. Python의 dict와 set을 떠받치는 핵심 구조야. 왜 평균이 빠른지, 그리고 언제 탐사가 길어지는지를 같이 이해하고 가.

    Lesson list (6)퀴즈 · 4 문제
  7. 07🌳트리

    0/7 lessons

    위계, 그리고 알고 보면 재귀인 구조

    트리에는 루트 하나가 있고 거기서 자식들이 갈라져 나가. 위계를 그대로 구조로 만든 거지. 균형이 잡혀 있으면 O(log n) 조회가 여기 살고, 재귀가 가장 자연스럽게 어울리는 집이고, 해싱이 못 다루던 순서 문제의 답이기도 해. 파일 시스템부터 결정 트리, 지금 읽고 있는 이 페이지까지, 뭔가가 뭔가를 담고 있는 곳이면 어디든 트리가 나타나.

    Lesson list (7)퀴즈 · 4 문제
  8. 08⛰️힙과 우선순위 큐

    0/5 lessons

    전부 정렬하지 않고도 언제나 최고를 아는 법

    힙은 질문 하나에 탁월하게 답해. '지금 가장 작은 게 뭐야?' 또는 '가장 큰 게 뭐야?' 엿보기는 O(1)이고 제거는 O(log n)이지. 전부를 정렬하는 대신 딱 필요한 만큼만 정렬해. 배열 안에 들어앉은 complete 이진 트리이고, 우선순위 큐와 스케줄러와 top-k를 굴리는 엔진이야.

    Lesson list (5)퀴즈 · 4 문제
  9. 09🕸️그래프

    0/6 lessons

    관계의 구조, 그러니까 거의 모든 것의 구조

    그래프는 간선으로 이어진 노드인데, 어떻게 이어질지에 대한 규칙이 없어. 이 퀘스트에서 가장 일반적이면서 가장 보편적인 구조지. 지도, 소셜 네트워크, 웹, 의존성, 분자, 뇌가 전부 그래프야. 트리와 연결 리스트도 사실은 제약이 걸린 그래프고. BFS와 DFS만 손에 익히면 어떤 관계망이든 탐색할 수 있어.

    Lesson list (6)퀴즈 · 4 문제
  10. 10🗺️그래프 알고리즘

    0/5 lessons

    가중치, 최단 경로, 신장 트리

    간선이 비용을 싣기 시작하면, 그러니까 거리든 가격이든 시간이든 붙기 시작하면 BFS로는 부족해. 이 트랙은 가중 그래프의 고전들을 다뤄. 최단 경로를 푸는 Dijkstra와 Bellman-Ford, 연결성을 다루는 union-find, 그리고 최소 신장 트리. GPS 라우팅부터 네트워크 설계까지, 놀랄 만큼 많은 실제 인프라가 이걸로 굴러가.

    Lesson list (5)퀴즈 · 4 문제
  11. 11🔍탐색과 정렬

    0/7 lessons

    나머지 전부가 그 위에 얹히는 두 연산

    탐색과 정렬은 가장 널리 쓰이는 알고리즘이야. 이진 탐색은 단조 경계를 절반씩 좁혀 가는 힘을 보여주고, 정렬은 분할 정복과 적응성을 보여줘. 비교 정렬의 최악 비교 횟수에는 Ω(n log n) 하한이 있고, 실전에서는 검증된 라이브러리를 먼저 쓰되 그 계약이 뭔지는 알고 써야 해.

    Lesson list (7)퀴즈 · 4 문제
  12. 12🪆재귀와 분할 정복

    0/6 lessons

    자기 자신의 더 작은 복사본으로 문제 풀기

    재귀는 함수가 더 작은 조각에 대고 자기 자신을 부르는 거야. 한 번 감이 잡히면 알고리즘에서 가장 우아한 도구가 되지. 이 트랙에서는 콜 스택, 믿음의 도약, 재귀 트리, 분할 정복, 백트래킹의 정체를 다 벗겨 볼 거야. 재귀를 손에 익히면 트리와 그래프, 정렬, 동적 계획법이 하나의 아이디어로 합쳐져.

    Lesson list (6)퀴즈 · 4 문제
  13. 13🧩동적 계획법

    0/6 lessons

    다시 계산하지 않으려고 과거를 기억하기

    동적 계획법은 부분 문제를 한 번만 풀고 그 답을 재사용하는 기술이야. 이름은 위협적으로 들리지만, 실은 상태, 점화식, 계산 순서라는 세 가지 질문으로 줄어들어. 모든 DP는 겹치는 상태와 결합 가능한 의존성 위에서 돌아가고, 최적화 문제라면 최적 부분 구조까지 확인하면 돼. 피보나치에서 편집 거리, 배낭 문제까지, 지수를 다항식으로 바꾸는 여정이야.

    Lesson list (6)퀴즈 · 4 문제
  14. 14🧰알고리즘 패러다임

    0/6 lessons

    전략 도구함: 그리디, 비트, 무작위성, 그리고 고르는 눈

    특정 알고리즘들 너머에는 그것들을 만들어 낸 전략이 있어. 그리디 선택, 비트 활용, 확실성을 속도와 맞바꾸는 무작위성, 그리고 문제에 맞는 패러다임을 고르는 메타 감각까지. 이 트랙은 그 도구함을 채우고, 맞는 도구로 손이 가게 하는 판단을 길러 줘.

    Lesson list (6)퀴즈 · 4 문제
  15. 15🎓에필로그

    0/4 lessons

    구조가 사는 곳, 그리고 남는 렌즈

    도구함 전체를 지었어. 마지막 트랙은 실제 시스템의 구현을 확인하는 법, ADT·자료구조·OOP의 정확한 관계, 비용 모델을 비유로 쓸 때의 한계, P vs NP의 결정 문제 경계를 함께 정리해.

    Lesson list (4)퀴즈 · 4 문제
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.