코딩테스트를 보고, 못 풀었던 문제를 복기해보면, 대부분 다이나믹 프로그래밍 문제였던 것 같다.이번 주에 알고리즘 스터디에서 DP 문제를 풀고 있는데 다른 알고리즘에 비해 혼자서 해결하지 못하는 문제가 많다고 느꼈다.DP 포비아를 극복하기 위해 다이나믹 프로그래밍에 대
순서에 조건이 붙어있는 경우 일반적인 DFS같은 것으로 구현했을 때, 깔끔하게 구현이 되지 않음을 많이 느꼈다. 이때마다 위상 정렬이라는 개념이 등장했고, 위상 정렬에 대해서 제대로 정리해보자위상 정렬 : 주어진 조건을 위배하지 않으면서, 노드를 순서대로 정렬하는 것위
유니온 파인드 (Union-Find) : 두 노드가 같은 그래프에 속하는지 판별하는 알고리즘그래프를 합치는 Union 연산과 루트 노드를 찾는 Find 연산으로 이루어져있다.항상 써야 할 때마다 직접 구현하다 보면 시간이 좀 걸려서 전체적인 틀 자체는 외워두는 것이 좋
정렬 알고리즘을 공부하다 보니, stable / unstable 이나 in-place와 같은 용어들이 등장했다. 학교 수업에서 배웠던 기억은 나는데 정확히 알고 있다는 느낌을 받지 못했고, 헷갈리는 지점들도 있어서 정리한다.stable한 정렬이라는 의미는 중복된 요소를