백준 문제중에 기초부터 중급까지 파트별로 차근 차근 풀 수 있는 단계를 풀면 좋다고 어디선가 들었다. 알고리즘 문제는 쉬운건 브론즈부터 골드까지 공부할 수 있는 문제로 구성되어 있다.
링크: 백준 온라인 기초 1/2
프로그래밍 언어 (C++, Java)를 할 줄 알고, 기초 알고리즘을 배우는 강의입니다.
먼저, 알고리즘이 무엇인지, 어떻게 공부하는 것이 좋은지 알아봅니다. 그 다음으로 알고리즘의 효율성을 측정하는 방법 중 하나인 시간 복잡도에 대해서 배워봅니다.
스택 (Stack)에 대해서 집중적으로 배워봅니다. 스택을 사용하는 문제를 이용해 스택의 어떤 성질을 이용해서 문제를 해결할 수 있는지 알아봅니다. 큐(Queue)와 덱(Deque)은 이 챕터에서 소개만 합니다. 두 자료구조는 그래프와 BFS 챕터에서 집중적으로 다루게 됩니다.
문제를 푸는데 필요한 기본적인 수학 내용을 알아봅니다. 나머지 연산, 최대 공약수, 소수에 대해서 알아봅니다.
다이나믹 프로그래밍이 무엇인지, 난이도가 가장 낮은 문제들을 이용해 다이나믹 프로그래밍을 이해해 봅니다.
400 - 다이나믹 프로그래밍 1
모든 경우의 수를 다 시도해보는 알고리즘인 브루트 포스에 대해서 알아봅니다.
경우의 수를 만들기 위해 순열, 재귀, 비트마스크 방법을 알아보고, 여러가지 문제를 해결해봅니다.
그래프와 그래프를 저장하는 방법인 인접 행렬, 인접 리스트를 알아봅니다. 그 다음, DFS와 BFS 알고리즘도 알아보고 여러가지 문제에 적용해봅니다.
문제를 그래프로 모델링해 BFS로 풀어봅니다.
트리와 관련된 기본적인 내용을 알아봅니다.
우와 대박!! 많은 도움될거같아요