상세 컨텐츠

본문 제목

PS101 - 프로토타입 소개

PS101

by Gravekper 2021. 3. 20. 10:38

본문

www.youtube.com/watch?v=H4WRsqxTla8

프로젝트 소개 및 특징

PS101은 알고리즘 공부에 도움이 되도록 제작된 문제 목록 프로젝트입니다.

충분히 많은 연습문제

전부 풀면 해당 분야에 충분히 자신감이 생길 만큼 많은 연습문제를 난이도별로 추천합니다. 이 때 다른 주제에 대한 지식 없이 풀 수 있는 연습문제를 주로 선택합니다.

주제별 ✰3 난이도 문제를 무리 없이 해결할 수 있을 만큼 연습하면 해당 주제를 다루는 다른 문제들에도 무리 없이 접근할 수 있을 것입니다.

공부에 도움이 되는 소스 코드

기초(✰1) 문제를 푸는 읽기 쉬운 소스 코드를 C++와 파이썬으로 제공합니다.

동영상 강의

주제마다 30분 내외로 기초 문제들의 해법과 소스 코드에 대해 설명하는 동영상 강의를 제공합니다.

프로젝트를 시작하는 이유

제가 알고리즘 공부를 처음 시작한 것은 2008년입니다. 당시에는 좋은 학습자료가 적었고 채점할 수 있는 문제도 많지 않았습니다. 누군가 직접 도움을 주지 않으면 공부를 시작하기 어려운 환경이었습니다.

시간이 많이 흘렀고 지금은 이전보다 좋은 자료를 구하기 쉬워졌습니다. 하지만 알고리즘 공부는 여전히 다른 사람의 도움 없이 진행하기 어렵습니다. 자신이 가지고 있는 지식으로 풀 수 있는 문제가 무엇인지, 어떤 문제가 연습에 도움이 되는지 알기 어렵기 때문에 먼저 공부한 다른 사람의 도움이 많이 필요한 분야입니다. 최근에 solved.ac가 등장하면서 어떤 문제가 내가 공부하는 주제와 관련이 있고 적당한 난이도인지 파악하는 것이 전보다 많이 쉬워졌습니다. 하지만 여전히 어떤 주제를 공부할 때에 어떤 문제를 풀면 좋을지 파악하는 것은 알고리즘 공부를 처음 시작한 분들에게 어려운 주제입니다.

PS101은 각 주제를 처음 공부할 때에 파악해야 할 내용과 가장 먼저 풀어볼 문제를 추천합니다. 그리고 가장 기본적인 예제들을 푸는 소스 코드와 이를 설명하는 동영상 강의를 제공합니다. 알고리즘을 처음 공부하는 분들이 새로운 주제에 도전하기 쉽게 하는 것이 목적입니다.

프로토타입

PS101은 현재 정수론 기초 강의 하나만 작성되어 있습니다. 다른 주제들을 곧 추가할 계획입니다.

정수론(1)

약수와 배수에 대해 다룹니다.

다음으로 제작할 예정인 주제들

  • 정수론(2)
    • 소인수분해, 에라토스테네스의 체
  • 스택과 큐
  • 완전 탐색

단계별 주제 분류 / 제작계획

낮은 단계를 빠짐없이 공부하면 높은 단계를 공부하는 데에 필요한 기반 지식을 대부분 얻을 수 있도록 하는 것이 목표입니다.

강의를 제작하면서 일부 주제들이 다른 단계로 이동하거나 쪼개지거나 합쳐질 수도 있습니다.

1단계

프로그래밍 언어의 기능들과 컨트롤 플로우를 익숙하게 다루는 방법을 공부합니다.

  • 온라인 저지 튜토리얼
  • 반복문, 테스트 케이스
  • 문자열
  • 함수의 재귀 호출
  • 정수론(배수와 약수, 소수)

2단계

  • 정수론(소인수분해, 에라토스테네스의 체)
  • 조합론
  • 수식을 작성해 문제 해결하기
  • 이분 탐색
  • 정렬
  • 선형 자료구조: 스택과 큐

3단계

  • 동적 계획법
  • 탐욕법
  • 그래프 탐색(BFS와 DFS)
  • 완전 탐색
  • 분할 정복, 매개변수 탐색

4단계

  • 최단 경로 알고리즘
  • 동적 계획법(경로 역추적 등)
  • Union-find
  • 정수론(분할 정복을 사용한 거듭제곱, mod int, 페르마의 소정리)
  • 기하학

0단계 및 5단계

1단계 이전 내용들도 제작할 생각이 있습니다. 프로그래밍 언어를 사용하는 방법과 기초 수학에 대해 다룹니다.

4단계 이후 내용도 작성할 생각이 있지만 그런 내용을 공부하고 있는 분들은 대개 쉬운 문제를 찾아서 풀 필요가 없는 경우가 많아서 우선순위가 낮은 편입니다.

제작자에 대해

저는 Gravekper이고, 2020년부터 알고리즘 강사 일을 하고 있습니다. 트위치에서 대회 풀이 방송을 진행합니다. 자세한 프로필은 링크를 참조하세요.

프로젝트 진행과정

프로토타입

프로젝트는 현재 프로토타입 단계에 있습니다. 제한된 주제에 대한 문제 목록과 강의를 제공합니다.

알파

10개 이상 주제로 된 강의와 문제 목록을 완성하면 알파 단계에 진입합니다. 이 단계에서 주제들의 분류와 규모를 확정지을 생각입니다.

베타

아래 목표를 달성하면 베타 단계에 진입합니다.

  • 3단계 이하 거의 모든 주제 완성

베타 단계에서는 프로젝트에 사용된 문제와 영상의 질을 올리는 것을 목표로 합니다. 마음에 들지 않거나 잘못된 내용이 있는 영상을 새로 찍는 작업도 할 계획입니다.

그 외 목표

아래는 비교적 우선순위가 낮은 작업들입니다.

  • 0단계 컨텐츠 제작
  • 난이도 단계별 연습문제 묶음 제작
  • 더 나은 조판: 수식 및 코드를 보기 좋게 출력하기
  • 문제 목록 관리 시스템 구축
  • 5단계 이상 컨텐츠 제작

가격 / 경제적 문제

문제 목록과 기초 강의는 모두 무료로 제공할 예정입니다.

유튜브 동영상에 광고가 붙을 수도 있습니다. 해당 주제를 다루는 유료 문제풀이 강의를 제작하게 되면 홍보 링크가 들어갈 수도 있습니다.

자세한 건 일단 좀 더 만들고 생각하도록 하겠습니다.

강사 일을 하면 모든 주제를 한 번씩은 공부해야 하고 문제들도 골라야 하기 때문에 유튜브에 괜찮은 영상도 올릴 겸 만들어보기로 했습니다. 제 주 수입원은 유튜브가 아니라 출장 강의이기 때문에 이 프로젝트는 돈이 안 돼도 괜찮습니다.

혹시라도 제 주머니 사정이 걱정되는 분은 근처에 알고리즘 강의가 필요한 대학이나 기업이 있는지 알아봐 주시면 정말 감사하겠습니다.

'PS101' 카테고리의 다른 글

PS101 - 정수론(1)  (0) 2021.03.20

관련글 더보기

댓글 영역