우리가 겪는 문제들을 효율적으로 해결할 수 있는 방법들은 이미 다 존재함.

문제에 대한 해결책을 생각해 냈다고 해도 이미 다른 누군가가 해결한 문제인 경우이 태반이라는거... 따라서 알고리즘은 기본적으로 책에 나온 것들을 이해하는게 기본임.

그렇다고 이해만 하면 되는 것도 아님.

반드시 코드로 짜봐야 함.

전공책에 나오는걸 타이핑 하는건 쓸모없음.

최단 경로 알고리즘을 이해했으면 트위터에서 A 와 B 의 최소 연결 경로(누구를 거치면 연결되나)를 찾는 프로그램을 만드는 식으로 실제로 적용을 해야함. 미로에서 여러개의 경로가 있을때 어느 경로가 가장 짧은지 찾는 코드도 작성해 보는 식이 되어야 함..

그냥 수도(서울말고) 코드 보고 이해했다고 해봤자 그건 이해한게 아니고 코드로 표현 못하면 말짱 황임.

그리고 중요한 점은... 스스로 알고리즘을 생각해보는 훈련을 해야 함.

사람이란게 뭐 하나 알게 되면 세상 모든 일을 다 그걸로 해결하려고 시도함. 망치가 새로 생기면 모든게 못으로 보인다는 말처럼 이런 일을 겪지 않으려면 이해하고 짜보고 잊어버리는 습관이 필요함.(외우지 말것. 외운대로 구겨넣게됨.)

구현할 무언가를 접하면 자연스럽게 알고리즘을 이해하고 짜보던 습관대로 생각이 떠오름.

그래서 알고리즘은 외우는게 아니라 이해하고 예제를 짜보고 잊어버리기... 시간 나면 refresh 차원에서 알고 있었지만 가물가물 해지는걸 다시 한 번 돌아보기...