자료구조: 특정 자료를 담고 있으며, 사용자가 원하는 (연산)을 수행할 수 있는 구조
알고리즘: 문제를 푸는 방법을 찾는 거
필수 테크닉
- 정렬
- 문자열 처리
- DP
- Dijkstra
- BFS & DFS
- 완전탐색
- 이분탐색
알고리즘
- 배열에서의 DP
- Tree에서의 DP
- 투 포인터
- 위상 정렬
자료구조
- HsahMap
- Deque(Queue)
- Stack
- Priority Queue
- Dynamic Array
코테를 임하는 자세
1. 문제를 올바른 순서로 이해한다.
읽기 : 시간, 메모리 제한 / 문제 전체를 꼼꼼히
이해하기 : 제공되는 정보(변수들) 정리 / 예제 데이터에 대해 이해
파악하기 : 가능한 최대, 최소 정답에 맞는 데이터를 직접생성 / 키워드가 되는 단어들을 체크
2. 시간과 공간 복잡도를 계산 한다.
시간을 아끼기
| 알고 리즘 | 시간 복잡도 | 공간 복잡도 |
| BFS & DFS (w/인접 리스트) | O(V+E) | O(V+E) |
| Dijkstra | O(E log E) or O(E log V) | O(V+E) |
| Quick Sort | 평균 O(N log N) 최악O(N^2) | O(N) |
| Binary Search | O(log N) | O(N) |
3. 코드를 효율적으로 함수화 해서 구현한다.
4. 코딩 테스트에서 부분 점수를 챙긴다.
출처_ 알고리즘 국가대표 류호석
'Algorithm' 카테고리의 다른 글
| Array_등수정하기 (0) | 2022.05.19 |
|---|---|
| 점수 계산 (0) | 2022.05.18 |
| 뒤집은 소수 (0) | 2022.05.17 |
| 소수 (0) | 2022.05.17 |
| 손코딩_피보나치수열 (0) | 2022.05.16 |