일주일에 다섯 문제
기술면접, 알고리즘, 자료구조
시작일
20200717
진행일시
매주 금 / 19:30
모집현황
진행장소
강남캠퍼스
시작일
20200717
진행일시
매주 금 / 19:30
모집현황
진행장소
강남캠퍼스
사회적 거리두기 2단계 이상일 경우, ZOOM을 활용하여 온라인으로 진행될 수 있습니다.
학습대상
전산학의 기초지식을 다시 공부하고 싶은 사람, 코딩테스트의 두려움을 없애고 싶은 사람, 꾸준한 코딩습관으로 알고리즘 구현 퀄리티를 높이길 희망하는 사람, 알고리즘 문제 풀기가 취미인 사람
과목난이도
쉬움 (1단계) ~ 어려움(5단계)
☘️☘️☘️: 기초 선수지식을 바탕으로 더 깊은 분야를 탐구해요.
학습목표
- 일주일에 다섯 문제씩 알고리즘 문제를 해결하며 기본적인 코딩 실력을 향상한다.
- 매주 새로운 다섯문제를 해결하면서, 코딩 테스트에 대한 두려움을 없앤다
- 코드를 개선하고 또 개선하는 과정에서 다양한 문제해결 방식이 있음을 습득한다.
- 꾸준한 코딩습관과 건강한 토론방식을 통해 competitive edge를 얻는다.
운영방식
- 가급적 이론보다는 문제풀이에 초점을 맞춥니다.
- 사전 지정된 문제를 모두 풀어보고 공유문서에 본인의 솔루션을 미리 업로드합니다.
- 각 문제에 대해 서로의 해답을 비교해봅니다. 발표자는 당일 임의로 지정됩니다.
- 작성한 알고리즘에 대한 시간,공간 복잡도를 함께 계산해보고 개선점에 대해 논의해봅니다.
선수지식
- 컴퓨학과 학부 수준 정도의 자료구조, 알고리즘 이론
- C/C++/JAVA/Python 중 최소 1개 언어에 대한 프로그래밍 스킬
학습 및 참고자료
- 주 교제 : LeetCode
- 부교제 : Introduction to Algorithms , 뇌를 자극하는 알고리즘
커리큘럼
사전학습 / 이론+실습
주차 | 학습내용 | 학습자료 |
---|---|---|
1 주차 | Array & 점근적표기 | 일주일에 다섯 문제 풀잎 스쿨 진행 과정에 대한 간단한 오리엔테이션 , 알고리즘 시간 복잡도와 공간복잡도 개념 설명, https://leetcode.com/explore/learn/card/array-and-string/ |
2 주차 | Linked List | https://leetcode.com/explore/learn/card/linked-list/ |
3 주차 | 스택&큐 | https://leetcode.com/explore/learn/card/queue-stack/ |
4 주차 | Tree | https://leetcode.com/tag/tree/ , 이진검색트리, 레드블랙트리, Decision Tree |
5 주차 | 정렬 | https://leetcode.com/tag/sort/ , 힙정렬, 우선순위 큐, 퀵정렬 |
6 주차 | 해시 테이블 | https://leetcode.com/tag/hash-table/ |
7 주차 | 그래프 | https://leetcode.com/tag/graph/ |
8 주차 | 문자열 검색 | 단순스트링매칭 알고리즘, 라빈-카프 알고리즘, 유한 오토마타를 이용한 스트링 매칭 등 |
9 주차 | 동적 프로그래밍 | https://leetcode.com/tag/dynamic-programming/ |
10 주차 | 분할정복 | https://leetcode.com/tag/divide-and-conquer/ |
11 주차 | 탐욕알고리즘, 백트래킹 | https://leetcode.com/tag/greedy/ |
퍼실소개
김지안
매주 한 가지 자료구조 혹은 알고리즘 주제를 가지고, 일주일 동안 다섯개의 알고리즘을 풀어봅니다. 이를 통해 프로그래밍을 이용한 문제 해결 능력을 키우고, 꾸준한 코딩 습관을 지향하고 있습니다. 참여자들은 오프라인 모임에서 서로의 풀이를 공유하고 피드백하는 시간을 가집니다. 이론적인 배경은 어느정도 숙지하고 있다는 전제하에 문제풀이를 중심으로 진행합니다.