00 개요
- 다짐: 코딩테스트 뽀개자
1. 코딩테스트란
- 시간 안에 주어진 문제를 푸는 시험, 적절한 알고리즘 선택하여 문제 해결이 목적
- 채점 방식: 입력값을 여러개 넣고, 모두 통과하는지 확인 (하나라도 통과 못하면 틀림)
- 공부 방법: 개념 이해, 기본 문제, 코드 imitate, 안 보고도 코드 작성할 수 있을 정도로 외우기, 유사 문제 풀어보기
- 각 알고리즘 이해 후: 하루에 몇 과목 씩 돌아가면서 풀기, 한 문제 Max 30분 넘기지 않기, 틀린 문제 복습하면서 반복, 시간 정하면서 문제 풀기, 스터디 활용
2. 필수 알고리즘 10개:
- BFS, DFS, 백트래킹, 시뮬레이션, 이진탐색, Greedy, DP, MST, 다익스트라, 플로이드
3. 문제 페이지
- 백준: https://www.acmicpc.net/
- 프로그래머스: https://programmers.co.kr/
- 그룸: https://goorm.io/
01 고려할 3가지
1. 아이디어
- 문제를 어떻게 풀 것인지 대략적인 계획 수립하는 단계
- 예) 시작점에 연결된 Vertex 찾기, 찾은 Vertex를 Queue에 저장하기, Queue의 가장 먼저 것 뽑아서 반복하기
2. 시간 복잡도
- = 시간 척도
- 알고리즘이 얼마나 오래 걸릴지 계산
- Big-O 표기법 사용: 알고리즘 최대/최악의 실행 시간을 표기
- 예) O (V + E)
3. 자료구조
- 어떤 자료구조를 사용할지 계획 (숫자는 최대자리에 따라서 데이터타입 예상)
- 예) 검색할 그래프, 방문여부 확인 (재방문 금지), Queue: BFS 실행
참조
- (개발자 장고 - 코딩테스트 준비 방법) https://www.youtube.com/watch?v=pvufY7rK7VA&list=PLi-xJrVzQaxXC2Aausv_6mlOZZ2g2J6YB&index=1
'Python > 코딩테스트' 카테고리의 다른 글
백트래킹 (Backtracking) 알고리즘 (1) | 2024.11.08 |
---|---|
DFS (Depth-first search) 알고리즘 (0) | 2024.11.08 |
BFS (Breadth-first search) 알고리즘 (0) | 2024.11.04 |