1주차
|
-
1. 문제 해결을 위한 개념과 알고리즘 분석
-
코딩과 디버깅의 이해
-
코딩 의 중요성, 가독성이 좋은 코드, 자주하는 실수 소개
-
알고리즘의 시간 복잡도 분석 ?선형/지수 시간 복잡도 분석
-
빅오(big-O) ?상한과 최악, 분할 상환 분석, 병렬화
-
알고리즘의 정당성과 증명 ?수학적 귀납법, 반복문 불변식
-
자료형 - 변수의 범위, 실수 표현 방식
|
2주차
|
-
1. 알고리즘 기초 재귀호출
-
1부터 n까지의 합 구하기, 최댓값/최솟값 찾기
-
게임판 덮기, 시계 맞추기
-
재귀와 재귀 함수의 이해
-
함수의 재귀적 호출의 이해
-
재귀 함수의 탈출 조건
-
재귀 함수 디자인
-
재귀 함수의 활용 - Factorial, Fibonacci Sequence 등
-
2. 정렬과 이진 검색
-
선택/삽입/버블 정렬
-
병렬/퀵 정렬 - 안정 정렬 vs 불안정 정렬
-
내장 함수를 이용하는 실용적인 방법
-
계수/기수 정렬
-
정렬 관련 문제 해결 e.g., 원점에서 K번째로 가까운 점
-
이진 검색 - 회전 정렬된 배열 검색, 두 배열의 교집합, 행렬 검색
|
3주차
|
-
1. 비트 조작 슬라이딩 윈도우
-
부울/비트 연산자 - not, and, or, xor, &, ^
-
2의 보수 - 숫자 포맷, 수학 연산
-
비트 조작 문제 풀이 - 싱글 넘버, 해밍 거리,두 정수의 합 등
-
슬라이딩 윈도우 ? 최대 슬라이딩 윈도우, 부분 문자열이 포함된 최소윈도우 가장 긴 반복 문자 대체 등
2. 그리드 알고리즘
-
분할 가능 배낭 문제
-
그리드 알고리즘 의 실패사례
-
그리드 알고리즘으로 볼 수 있는 문제- 주식을 사고팔기 가장 좋은 시점, 키에 따른 대기열 재구성, 태스크 스케줄러 등
|
4주차
|
-
1. 코딩 테스트 기출문제 풀이
-
다트게임, 캐시, 뉴스 클러스터링, 프렌즈 4블록, 추석 트래픽, 비밀지도 등
-
|