코딩 테스트에 주로 나오는 4개의 알고리즘 위주로 강의가 구성되어 있습니다.
강의는 총 3개로 이루어져 있습니다.
강의에 사용하는 언어는 C++, Java, Python3이며, 강의에서 이 3가지 언어에 대해서 모두 설명합니다. 슬라이드에는 C++, Java, Python3 코드가 모두 첨부되어 있습니다.
이 강의는 다음과 같이 구성되어 있습니다.
알고리즘 문제를 해결할 때 가장 중요한 시간 복잡도에 대해서 먼저 알아봅니다. 언어별로 자주 하기 쉬운 실수 몇 가지도 함께 알아봅니다.
주로 사용하는 수학 관련 알고리즘인 소수 판별, 최대 공약수에 대해서 알아봅니다.
모든 경우의 수를 다 해보는 브루트 포스 알고리즘에 대해서 알아봅니다.
브루트 포스의 개념을 먼저 알아보고, 모든 방법을 만드는 방법인 재귀, 순열, 비트마스크에 대해서 알아봅니다. 재귀가 브루트 포스에서 가장 중요하니 재귀를 위주로 설명을 진행합니다.
다음 문제가 포함되어 있습니다.
다이나믹 프로그래밍의 개념과 점화식을 세우는 방법을 자세하게 알아봅니다.
가장 중요한 자료구조인 큐에 대해서 알아보고, 그래프와 DFS, 그리고 BFS를 알아봅니다. 이후 BFS를 이용해서 풀 수 있는 문제들을 연습해봅니다.
시뮬레이션과 다양한 구현 문제에 대해서 알아봅니다.