본문 바로가기

2023년/12월

코딩테스트 준비 팁

준비방법

 

코딩테스트를 준비하면서 주변 취준하는 사람들과 얘기를 해보면서 유용하게 학습했던 내용에 대해 공유하겠습니다. 

 

백준 홈페이지에서 문제 - 분류 배너에 들어가면 분류된 알고리즘 문제들을 볼 수 있습니다.

 

분류된 문제를 잡고 해당 문제에 대한 알고리즘을 이해합니다.

 

분류된 문제를 잡고 해당 문제에 대한 알고리즘을 이해합니다.

 

분류별로 들어갈 시 맞힌사람이 많은 기준으로 정렬된다.

 

첫번째 문제를 풀어보면서 막히는 부분이 있다면 해당 알고리즘에 대해서 학습 후 다시 문제를 풀어봅니다.

 

알고리즘 분류

 

1260번 처럼 분류의 첫번째 문제를 해결할 때 해당 문제의 알고리즘 분류를 확인하고 학습합니다.

그래프 이론과 탐색을 이해하고 BFS/DFS 관련해서 구글링을 하여 자료를 찾고 해당 알고리즘을 이해합니다.

보통 키워드에 자신이 사용하는 언어와 관련된 내용을 추가하면 좋습니다.

 

구글링을 통해 학습

 

 

 

10 ~ 15 문제 정도를 연속해서 풀어보고 느낌과 유형을 이해하셨다면 다음 분류로 넘어가 반복합니다.

 

  • 다음은 추천하는 알고리즘 문제 분류 입니다.
수학 Mathematics  
구현 Implementation  
다이나믹 프로그래밍 Dynamic Programming  
자료 구조 Data Structures  
그래프 이론 Graph Theory  
그리디 알고리즘 Greedy  
문자열 String  
브루트포스 알고리즘 Bruteforcing  
그래프 탐색 Graph Traversal  
정렬 Sorting  
기하학 Geometry  
정수론 Number Theory  
트리 Tree  
애드 혹 Ad-hoc  
세그먼트 트리 Segment Tree BOJ Book
이분 탐색 Binary Search  
사칙연산 Arithmetic  
시뮬레이션 Simulation  
너비 우선 탐색 Breadth-first Search  
해 구성하기 Constructive  
누적 합 Prefix Sum BOJ Book
조합론 Combinatorics  
많은 조건 분기 Case Work  
깊이 우선 탐색 Depth-first Search  
비트마스킹 Bitmask  
해시를 사용한 집합과 맵 Set / Map By Hashing  
데이크스트라 Dijkstra's  
백트래킹 Backtracking  
트리를 사용한 집합과 맵 Set / Map By Trees  
스위핑 Sweeping  
분리 집합 Disjoint Set  
파싱 Parsing  
분할 정복 Divide And Conquer  
트리에서의 다이나믹 프로그래밍 Dynamic Programming On Trees  
우선순위 큐 Priority Queue  
스택 Stack  
두 포인터 Two-pointer  
게임 이론 Game Theory  
매개 변수 탐색 Parametric Search  
최대 유량 Maximum Flow  
소수 판정 Primality Test  
최단 경로 Shortest Path  
비트필드를 이용한 다이나믹 프로그래밍 Dynamic Programming Using Bitfield  
느리게 갱신되는 세그먼트 트리 Segment Tree With Lazy Propagation BOJ Book
분할 정복을 이용한 거듭제곱 Exponentiation By Squaring  
확률론 Probability Theory  
임의 정밀도 / 큰 수 연산 Arbitrary Precision / Big Integers  
오프라인 쿼리 Offline Queries  
배낭 문제 Knapsack  
재귀 Recursion  
값 / 좌표 압축 Value / Coordinate Compression  
런타임 전의 전처리 Precomputation  
에라토스테네스의 체 Sieve Of Eratosthenes  
최소 스패닝 트리 Minimum Spanning Tree  
유클리드 호제법 Euclidean Algorithm  
이분 매칭 Bipartite Matching  
선형대수학 Linear Algebra  
볼록 껍질 Convex Hull  
위상 정렬 Topological Sorting  
플로이드–워셜 Floyd–warshall  
해싱 Hashing  
최소 공통 조상 Lowest Common Ancestor  

 

결론

  • 분류 1개를 선택한다
  • 해당 분류에 관한 내용 혹은 알고리즘을 학습한다
  • 10~15개의 문제를 풀어보면서 해당 유형을 익힌다.
  • 위 내용을 반복한다.

 

 

주차별로 풀어야하는 방식을 참고하면 좋을 것 같습니다

'2023년 > 12월' 카테고리의 다른 글

2023년 회고록  (2) 2023.12.31