Skip to content
프로젝트

gaerae/awesome-algorithms-education

GitHub에서 보기

gaerae/awesome-algorithms-education has 911 GitHub stars and 69 forks. GitHot measured +3 in 7 days. Last checked 2026-11-10 20:14 UTC. Last push 2026-10-28.

이 수치를 측정하는 방법

A curated list of courses, online judges, visualizations, books and competitions for learning and practicing algorithms. English and Korean.

측정된 스타 증가

in 24h
업데이트 지연
in 7 days
+3
in 15 days
업데이트 지연
in 1 month
업데이트 지연

서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.

README.ko.md

Original

Awesome Algorithms Education Awesome

알고리즘을 배우고 연습하기 위한 강좌, 온라인 저지, 시각화 도구, 도서, 대회를 엄선한 목록입니다.

유료라고 표시한 항목 외에는 모두 무료로 읽거나 사용할 수 있으며, 한국어 자료에는 따로 표시를 두어 영어와 한국어 학습자 모두가 자신에게 맞는 자료를 찾을 수 있게 했습니다. 알고리즘 구현 코드나 대회 특화 자료는 Awesome Competitive Programming과 Awesome Algorithms을 참고하세요.

만약 기여하고 싶다면, 기여 가이드 문서를 확인하세요.

English | 한국어

Contents

Courses

강좌

Introductory

초급 강좌

  • Algorithms - Khan Academy / Thomas Cormen이 공동 집필한 무료 단원으로, 정렬·재귀·그래프를 글과 JavaScript 과제로 익힌다.
  • DSA Tutorial - Geeks for Geeks / 배열·정렬부터 그래프·DP·세그먼트 트리까지 이어지는 무료 글과 연습 문제 로드맵.
  • 영리한 프로그래밍을 위한 알고리즘 강좌 - 한국어 / Inflearn / 부경대 권오흠 교수의 무료 55강 강의로 순환, 정렬, 트리, 해싱, 그래프, 동적 계획법을 다룬다.

Intermediate

중급 강좌

  • Algorithms and Data Structures - Class Central / 대학과 MOOC 플랫폼의 무료·유료 강좌 수백 개를 수강평과 함께 검색할 수 있는 카탈로그.
  • Algorithms - edX(IITBombay) / 정렬, 순서 통계량, 문자열·기하·그래프 알고리즘을 다루는 6주 과정으로 청강은 무료.
  • Intro to Algorithms - Udacity / Michael Littman이 소셜 네트워크 분석을 소재로 그래프 알고리즘과 증가율을 가르치는 무료 자율 학습 과정.
  • Introduction to Algorithms, 2020 - MIT OCW / Demaine, Ku, Solomon의 학부 과목 6.006으로 강의 영상, 노트, 문제 세트, 시험과 풀이를 제공한다.
  • Design and Analysis of Algorithms, 2015 - MIT OCW / 분할 정복, DP, 무작위화, 복잡도를 다루는 학부 과목 6.046J로 영상, 노트, 시험을 제공한다.
  • Introduction to Algorithms, 2011 - MIT OCW / Demaine과 Devadas가 가르친 이전 6.006으로 강의·복습 영상, 노트, Python 과제, 시험을 제공한다.
  • Classes and Teaching by Erik Demaine - MIT(Lecture notes) / Erik Demaine의 6.006, 6.046, 6.851 등 강의 영상과 노트를 모아 둔 목록.
  • Efficient Algorithms and Intractable Problems, 2001 - UC Berkeley(Lecture notes) / Demmel과 Shewchuk의 CS 170 강의 노트와 과제로 그래프, DP, 네트워크 플로우, NP-완전성을 다룬다.
  • Data Structures, 2014 - UC Berkeley(Lecture notes) / Jonathan Shewchuk의 CS 61B로 Java 기반 노트, 영상, 실습, 프로젝트로 핵심 자료구조를 다룬다.
  • Algorithms, Part I - Coursera(Princeton University) / Sedgewick과 Wayne의 무료 Java 강좌로 정렬, 탐색, 기본 자료구조를 다룬다.
  • Algorithms, Part II - Coursera(Princeton University) / Sedgewick과 Wayne의 무료 Java 강좌로 그래프·문자열 알고리즘, 압축, 난해성을 다룬다.
  • USACO Guide - Bronze부터 Platinum까지 단계별로 구성된 무료 알고리즘 대회 커리큘럼.

Advanced

고급 강좌

  • Data Structures and Algorithms - 유료 콘텐츠 / Harvard University / Michael Mitzenmacher의 익스텐션 스쿨 과정으로 그래프, 근사, 무작위 알고리즘을 다룬다.
  • Algorithms Specialization - 유료 콘텐츠 / Coursera(Stanford University) / Tim Roughgarden의 4개 과정 시리즈로 분할 정복, 그래프, 탐욕법, DP, NP-완전성을 다룬다.

Competitive programming

알고리즘 트레이닝

  • HackerRank - 워밍업부터 동적 계획법까지 주제별로 묶인 알고리즘 연습 문제.
  • Codility - 시간 복잡도, 누적 합, 정렬 등을 다루는 무료 강의와 연습 문제.
  • Topcoder - 오랜 역사의 Single Round Match(SRM) 대회와 문제 아카이브, 에디토리얼 제공.
  • Codewars - 55개 이상의 언어로 풀 수 있는 커뮤니티 제작 문제(kata).
  • CodeChef - 연습 문제와 정기 레이팅 대회.
  • Codeforces - 영어, 러시아어 / 거의 매주 열리는 레이팅 라운드와 Educational 라운드, 방대한 문제 아카이브와 커뮤니티 블로그.
  • AtCoder - 영어, 일본어 / 매주 열리는 Beginner Contest와 Regular, Grand, Heuristic 대회를 여는 일본 AtCoder의 플랫폼.
  • UVa Online Judge - 고전 문제 아카이브. 진행 상황을 추적하는 uHunt와 ICPC Live Archive 포함.
  • ICPC Problem Archive - Kattis / 최근 ICPC 월드 파이널 기출 문제를 난이도별로 모아 Kattis에서 채점한다.
  • CS Academy - 영어, 러시아어, 아랍어 / 동적 배점 라운드를 열며 그래프 에디터, 기하 도구 같은 부가 도구를 제공한다.
  • CSES Problem Set - 입문 문제부터 고급 기법까지 주제별로 묶인 문제 모음.
  • Coderbyte - 영상 풀이가 딸린 코딩 문제. 현재는 채용 평가 플랫폼이 주력.
  • HackerEarth - 기초 프로그래밍, 자료구조, 알고리즘, 수학 연습 문제와 채용 평가 제공.
  • Infoarena - 루마니아어 / 본 아카이브와 교육·월간·ACM 아카이브, 대회와 레이팅을 갖춘 커뮤니티 저지.
  • Kattis - 난이도 점수가 매겨진 수천 개의 문제 아카이브.
  • Learneroo Algorithms Tutorials - 문제를 풀면서 알고리즘과 자료구조를 배우는 튜토리얼.
  • LeetCode - 영어, 중국어 / 주제와 난이도로 태그된 면접 대비형 문제 은행으로 매주·격주 대회를 연다.
  • Rosalind - 생물정보학과 프로그래밍 문제. 초보자용 Python Village부터 시작.
  • Snakify - 100개 이상의 연습 문제가 있는 초보자용 Python 3 강좌.
  • Sphere Online Judge (SPOJ) - 다양한 프로그래밍 언어를 지원하는 대규모 고전 문제 아카이브.
  • beecrowd - 영어, 스페인어, 브라질 포르투갈어 / 대회와 방대한 문제 아카이브를 갖춘 저지로, 구 URI Online Judge.
  • PKU JudgeOnline - 영어, 중국어 / 베이징대학교가 운영하는 저지로 각지 대회에서 모은 방대한 문제와 월례 대회를 제공한다.
  • Aizu Online Judge - 영어, 일본어 / 아이즈대학교가 운영하는 무료 저지로 ICPC, JOI, PCK 기출과 입문 코스 등 2,000문제 이상을 제공한다.
  • Project Euler - 수학적 통찰과 프로그래밍이 모두 필요한 수학 문제 시리즈.
  • Advent of Code - 매년 12월에 하루 한 문제씩 공개되는 퍼즐 캘린더.
  • Project Euler @kr - 한국어 / Project Euler 문제의 한국어 번역.
  • Baekjoon - 한국어 / 국내에서 가장 널리 쓰이는 온라인 저지.
  • solved.ac - 한국어 / 백준 문제의 난이도 티어와 문제 추천.
  • Algospot - 한국어 / 『알고리즘 문제 해결 전략』 저자가 운영하는 온라인 저지와 커뮤니티.
  • JUNGOL - 한국어 / 정보올림피아드 대비 온라인 저지.
  • Koistudy - 한국어 / 알고리즘별·티어별 문제집과 대회를 제공하는 온라인 저지.
  • CodeUp - 한국어 / 프로그래밍 입문자를 위한 온라인 저지.
  • Codingdojang - 한국어 / 문제 풀이로 코딩 실력을 수련하는 사이트.
  • Programmers - 한국어 / 취업 대비 코딩 테스트 연습 문제.
  • Codeground - 영어, 한국어 / 삼성이 운영하며 연습 문제, 사용자가 여는 OpenRound 대회, 대학생 대회 SCPC를 제공한다.
  • SW Expert Academy - 한국어 / 삼성이 운영하는 소프트웨어 역량 학습 플랫폼. 문제와 강좌 제공.

Visualizations

시각화

  • Algorithm Visualizer - 코드로부터 알고리즘을 시각화하는 인터랙티브 플랫폼.
  • A Visual Guide to Graph Traversal Algorithms - Workshape.io가 만든 DFS와 BFS 인터랙티브 설명.
  • VisuAlgo - 영어, 중국어, 인도네시아어 / 싱가포르국립대 Steven Halim 교수가 만든 자료구조·알고리즘 24개 모듈의 애니메이션 시각화와 퀴즈.
  • Algorithms Visualization - 샘플링, 셔플, 정렬, 미로 생성 알고리즘 시각화를 다룬 Mike Bostock의 글.
  • Data Structure Visualizations - University of San Francisco의 David Galles가 만든 인터랙티브 애니메이션.
  • Sorting Algorithms Animations - Toptal이 제공하는 정렬 알고리즘 나란히 비교 애니메이션.
  • Path Finding - A*, Dijkstra, BFS, Jump Point Search 등 경로 탐색 알고리즘의 인터랙티브 격자 데모.
  • Introduction to the A* Algorithm - Red Blob Games / Amit Patel의 인터랙티브 튜토리얼로 너비 우선 탐색, 다익스트라, 탐욕적 최선 우선 탐색에서 A*까지 단계별로 설명한다.
  • Python Tutor - Python, JavaScript, C, C++, Java 코드의 실행 과정을 단계별로 시각화.
  • Algorithm Wiki from Will Thimbleby - 실제 JavaScript 구현을 실행해 시각화하는 인터랙티브 위키.
  • TensorFlow Playground - 브라우저에서 작은 신경망을 직접 조작해 보는 데모.
  • Algovis - GitHub 사용자 enjalot이 정리한 알고리즘 시각화 프로젝트·도구 모음으로 Tailspin, Vamonos, Tangle 등을 담고 있다.
  • Vamonos - JavaScript 프로그래밍 언어 / 오리건주립대에서 만든 라이브러리로 배열·그래프 알고리즘을 중단점과 되감기로 단계별 시각화한다.
  • The Sound of Sorting - C ++ 프로그래밍 언어 / Timo Bingmann의 데모로 수십 가지 정렬 알고리즘의 비교 연산마다 막대를 그리고 소리를 낸다.

Interviews

인터뷰

Videos

비디오

  • How algorithms shape our world - Kevin Slavin / 주식 거래, 첩보, 추천 알고리즘이 일상을 어떻게 바꾸는지 다룬 2011년 TED 강연.
  • Algorithms - Abdul Bari / 복잡도 분석부터 분할 정복, 그리디, 동적 계획법까지 다루는 입문자용 강의 84편.
  • Algorithms - Oresoft LWC / Omkar Deshpande가 점근 표기법, 정렬, 탐색, GATE 기출을 짧게 설명하는 입문 영상 약 100편.
  • Computer Sc - Programming and Data Structure - Nptelhrd / P.P. Chakraborty의 IIT Kharagpur 강의 32편으로 C 프로그래밍, 재귀, 연결 리스트, 트리, 그래프를 다룬다.
  • Introduction to Algorithms, 2020 - MIT 6.006 / Demaine, Ku, Solomon이 정렬, 트리, 그래프, 동적 계획법을 다루는 학부 강의와 문제 풀이 세션 32편.
  • Design and Analysis of Algorithms, 2015 - MIT 6.046J / Demaine, Devadas, Lynch가 무작위화, 네트워크 플로우, NP-완전성을 다루는 심화 강의와 복습 세션 34편.
  • Introduction to Algorithms, 2011 - MIT 6.006 / Devadas와 Demaine이 정렬, 해싱, 그래프 탐색, 최단 경로, 동적 계획법을 다루는 강의와 복습 세션 47편.
  • Merge Sort vs Quick Sort - YouTube 채널 udiprod의 애니메이션 비교 영상.
  • 15 Sorting Algorithms in 6 Minutes - Timo Bingmann / 퀵 정렬, 병합 정렬부터 보고 정렬까지 정렬 알고리즘 15가지를 소리와 함께 시각화한 6분짜리 영상.
  • AlgoRythmics - Sapientia University / 민속 무용수들이 버블, 퀵, 병합 정렬 같은 정렬·탐색 알고리즘을 춤으로 표현한 영상 14편.

Books

도서

Articles

문서

Competitions

대회

  • ICPC - 대학생 팀 프로그래밍 대회 중 가장 오래되고 규모가 큰 국제 대회입니다.
  • IOI - 중고등학생을 위한 국제 정보 올림피아드입니다.
  • Meta Hacker Cup - Meta가 매년 여는 공개 프로그래밍 대회입니다.
  • AtCoder Contests - 초보자부터 고수까지 참가할 수 있는 주간 레이팅 대회입니다.
  • Codeforces Contests - 가장 활발하게 열리는 레이팅 대회입니다.
  • Google Coding Competitions Archive - 2023년에 종료된 Code Jam, Kick Start, Hash Code의 문제와 풀이를 모은 공식 아카이브입니다.
  • Google Summer of Code - 학생을 오픈 소스 단체와 연결해 여름 동안 유급 코딩 프로젝트를 진행하는 연례 프로그램.
  • KOI - 한국어 / 한국정보올림피아드 / 초·중·고등학생 대상 연례 대회로 온라인 1차 대회와 수상자가 진출하는 2차 대회로 치러진다.
  • UCPC - 한국어 / 전국 대학생 프로그래밍 대회 동아리 연합 / 온라인 예선과 오프라인 본선으로 치러지는 연례 3인 팀 대회.

Miscellaneous

도움될만한 읽을거리

  • The Algorithms - 주요 언어별 알고리즘 구현을 모은 오픈소스 프로젝트.
  • MIT OpenCourseWare - MIT 강의 전체를 담은 YouTube 재생목록.
  • Awesome Data Science - 데이터 과학 학습 자료를 엄선한 목록.
  • Awesome Machine Learning - 언어별 머신러닝 프레임워크, 라이브러리, 소프트웨어를 엄선한 목록.
  • Rosetta Code - 같은 과제의 해법을 최대한 많은 프로그래밍 언어로 제시해 언어 간 차이를 비교할 수 있는 곳.
  • Code.org - 초·중·고 무료 컴퓨터과학 교육과정과 Hour of Code 캠페인을 운영하는 비영리 단체.
  • CheckiO - Python 혹은 JavaScript를 온라인 게임을 통해 학습할 수 있습니다.
  • HUST Online Judge System - HUST 온라인 저지를 PHP Laravel로 다시 만든 버전으로, 제출 코드를 RabbitMQ로 별도 채점 서버에 보낸다.
  • 백준 온라인 저지는 어떻게 만들어졌을까? - 한국어 / 스타트링크가 백준 온라인 저지를 어떤 기술로 어떻게 만들었는지 정리한 글.

관련 프로젝트 살펴보기