알고리즘
직접 해 보면서 배웁니다
설명을 읽기 전에 먼저 해 봅니다. 그다음에 왜 그렇게 되는지 풀어 씁니다.
3편 공개 · 전체 36편 준비 중
기초 개념
- 시간복잡도1억 번이면 1초, 그래서 어쩌라고
- 재귀거울 앞에 거울을 두면
- 완전탐색일단 다 해 보면 안 되나
- 투 포인터양쪽에서 좁혀 오기
- 슬라이딩 윈도우창문을 밀면서 보기
- 누적합구간의 합을 한 번 빼기로
자료구조
- 배열과 리스트왜 맨 앞에 끼우면 느릴까
- 스택왜 Ctrl+Z 는 방금 한 것부터 되돌릴까
- 큐와 덱줄을 서면 앞사람부터
- 해시사물함을 번호 대신 이름으로 찾기
- 힙(우선순위 큐)가장 급한 것부터 꺼내기
정렬
- 버블 정렬옆 사람과 키 순서로 서 보기
- 선택 정렬가장 작은 것부터 꺼내 놓기
- 삽입 정렬카드를 한 장씩 끼워 넣기
- 병합 정렬반으로 쪼갰다 붙이기
- 퀵 정렬기준 하나로 좌우를 가르기
- Python sort 와 key실전에서는 이 한 줄이면 된다
탐색
- 선형 탐색앞에서부터 하나씩 보면
- 이분 탐색업-다운 게임 잘하는 법
- 왼쪽 끝·오른쪽 끝 찾기같은 값이 여러 개일 때
- 답을 이분 탐색하기되는지 안 되는지만 물어보기
그래프 탐색
- 격자 BFS소문은 어떻게 퍼질까
- DFS막다른 길까지 가 보기
- 연결 요소섬이 몇 개인지 세기
최단경로·MST
- 다익스트라길마다 걸리는 시간이 다르면
DP
- 메모이제이션같은 걸 두 번 세지 않기
- 1차원 DP계단을 오르는 경우의 수
- 0/1 배낭가방에 무엇을 담을까
그리디
- 거스름돈큰 동전부터 주면 되나
- 회의실 배정끝나는 시간이 빠른 것부터
백트래킹·구현
- 순열과 조합 만들기가능한 경우를 빠짐없이
- N-퀸서로 못 보게 놓기
- 시뮬레이션시키는 대로 그대로 하기
문자열
- 문자열과 회문뒤집어도 같은 말
수학
- 최대공약수유클리드가 2300년 전에 푼 문제
- 에라토스테네스의 체소수를 체로 거르기