동적 프로그래밍은 말이 동적이지 쉽게 이해하자면 프로그램이 돌아갈 때 자체적으로 기억을 하게 하는 것이다. 모든 값을 검사할 때, 이전의 값 중 최적의 해를 저장해두었다가, 다음 값을 검사할 때 비교하는 방식이다. 아주 아주 간단한 동적 프로그래밍은 최댓값 혹은 최솟값을 찾는 문제이다. 숫자로만 이뤄진 배열을 입력받는 경우, 가장 작은 수를 이미 가지고 있는 최댓값을 구하는 함수 또는 가장 큰 수를 이미 가지고 있는 최솟값을 구하는 함수를 이용해 문제를 풀 수 있을 거다. const findMax = (arr) => { let max = -Infinity; for ( let value of arr ) { // value 는 arr[index] 와 같다 ( for...of 검색 ) if ( max < va..