백준에 나오는 code.plus 문제집과 패스트캠퍼스&업스테이지 AI Lab 1기에서 들은 내용을 합쳐서 정리해보았다.
복잡하거나 어려운 상급의 내용이 아니라 코딩테스트를 위한 기초적인 알고리즘 테스트의 범위를 분류해보았다.
자료 구조
스택 (Stack)
큐 (Queue)
우선순위 큐 (Priority Queue)와 힙 (Heap)
디큐 (Dequeue)
해시맵 (Hash Map)
문자열 (String)
구현/시뮬레이션
수학
문제를 읽고 그대로 구현
탐욕/그리디/Greedy 알고리즘
매 단계마다 최적을 선택하며 최종 해답에 도달하는 과정
동적 계획법 / Dynamic Programming (DP)
현재 문제를 여러개의 중복된 하위 문제로 바꿔서 푼다.
점화식을 세워서 문제를 푼다.
바텀업 방식과 탑다운 방식.
탑다운 방식은 메모제이션 방법 사용.
재귀 / Recursion
함수 안에서 스스로를 호출하는 방법
파이썬의 경우 최대 재귀 한도가 존재하므로 주의해서 사용해야 한다.
Brute Force / 브루트 포스 / 완전 탐색
모두 세기
N과 M
재귀
순열
비트마스크
투 포인터 / Two Pointer
두 개의 점을 이용해서 기록하면서 문제를 풀어 나간다.
이진 탐색 / Bisectional Search
반씩 쪼개서 원하는 값을 탐색해 나간다.
그래프 / Graph
큐 (Queue)
디큐 (Dequeue)
BFS (Breadth First Search)
DFS (Depth First Search)
Tree
백준 사이트 난이도 보기
아래 사이트를 보고 따라했다.
https://smartpro.tistory.com/27
References:
패스트캠퍼스 & 업스테이지 AI Lab 1기 코딩테스트 특강
https://www.acmicpc.net/workbook/codeplus
https://www.slideshare.net/slideshow/kucc-2022-4/251739276
이것이 취업을 위한 코딩 테스트다 with 파이썬