코딩 테스트를 공부하면서 배운 내용들을 정리하는 게시물들입니다. 개인적인 정리 용도로 정리를 하는 것이기 때문에 참고용으로만 봐주시면 감사하겠습니다. 또한 참고한 자료들의 출처는 하단에 표기하였습니다. 좋은 자료를 제공해주시는 분들께 항상 감사드리며, 저작권 문제/내용 오류가 있다면 누구라도 자유롭게 이야기해주시면 감사하겠습니다.
가장 출제 빈도가 높은 알고리즘 유형: 그리디, 구현, DFS/BFS
그외: 최단 경로, 다이나믹 프로그래밍, 그래프 이론, 이진 탐색, 정렬
일반적으로 연산 횟수가 5억을 넘어가는 경우 5~15초 가량이 소요
초당 2,000만 번의 연산을 진행한다고 생각하기
코딩 테스트 문제에서의 시간 제한은 통산 1~5초 사이
ex) 시간 제한이 1초인 문제의 경우
- N < 500 : O (N^3)
- N < 2,000 : O (N^2)
- N < 100,000 : O (N log N)
- N < 10,000,000 : O (N)
수행시간 측정 소스코드 예제
import time
start_time = time.time() # 측정 시작
# 프로그램 소스 코드
end_time = time.time() # 측정 종료
print("time:", end_time - start_time) # 수행 시간 출력