-
[Computational Thinking] 재귀 / 동적 프로그래밍(1)Study/Etc 2020. 3. 28. 15:33
서론
해당되는 항목에 체크하시오.
- 알고리즘 문제, 내가 생각한 방법으로 될 것 같기는 한데 이유는 모르겠다.
- 어떻게 프로그램을 짜면 더 빠른지, 더 느린지 전혀 감이 없다.
- log n을 본 적 없거나, 본적이 있는데 무슨 뜻이라고 한마디로 설명하지는 못한다.
- Problem Solving 자료를 보고 시간을 들여도 발전이없다.
하나라도 일치하는 상황이 있다면 PS을 본격적으로 공부할 준비가 안된 것일 수 있다.
그래서 필요한 것은?
- 논리적으로 정확하게 확인하는 과정에 대한 연습이 없어서이다.
- 되는 것 같다는 기분이나 "공식을 외우는 것" 말고 정확하게 확인해 본 적이 있는가?
- 프로그램을 짜기 시작하기 전에, 정확한 결과가 나올 것인지, 얼마나 빠르게 돌아갈 것인지 미리 알 수 있는가?
- 확인이 안된 상태에서 프로그램을 짜기 시작하면 결과가 정확할지, 얼마나 빠를지 예측할 수 없고, 제대로 된 결과가 나오지 않으면 고치는 것이 어렵고 무작정 여러가지 시도를 해볼 수 밖에 없다. (내가 제일 많이 하는거,,)
- 정확히 확인하는 훈련이 되어 있지 않으면, 단순 작업 이상의 코드를 작성하기 어렵고, 다른 사람의 코드를 고치는 것도 매우 어렵다.
- 정확하게 확인하는 과정을 수많은 세월 동안 정리해 둔 것이 "증명" 기법이다.
- 증명 기법은 딱딱한 것이 아닌 기발한 아이디어들의 집합이고 "이해하면 재미있는 그림"들과 같다.
- 이 과정에서 쉬운 문제들을 보고 정확하게 확인하는 것을 연습해 보자.
[출처]
https://swexpertacademy.com/main/learn/course/lectureHtmlViewer.do#none