반응형

피보나치 2

DP(동적계획법)

안녕하세요. KataRN입니다. 오늘은 DP에 대해 알아보겠습니다. DP란 탈영병들을 잡는 병사들을 일컫는... 죄송합니다. DP(Dynamic Programming)란 ? 일반적으로 주어진 문제를 풀기 위해서, 문제를 여러 개의 하위 문제(subproblem)로 나누어 푼 다음, 그것을 결합하여 최종적인 목적에 도달하는 것이다. 각 하위 문제의 해결을 계산한 뒤, 그 해결책을 저장하여 후에 같은 하위 문제가 나왔을 경우 그것을 간단하게 해결할 수 있다. 이러한 방법으로 동적 계획법은 계산 횟수를 줄일 수 있다. 특히 이 방법은 하위 문제의 수가 기하급수적으로 증가할 때 유용하다. 출처 : 나무위키 핵심은 저장입니다. Memoization(메모이제이션)이라고 불리기도합니다. 동일한 계산을 반복해야할 때,..

재귀함수, 꼬리재귀

안녕하세요. KataRN입니다. 여러분 재귀함수를 아시나요? 재귀함수... 어렵게 생겼지만 어렵지 않습니다. 재귀함수에 대한 이해를 돕기위해 우선 나무위키에서 퍼온 내용을 보시죠 어떻습니까? 멀티탭을 사용하기위해 멀티탭에 멀티탭코드를 꽂아서 사용하는... 멀티탭을 쓰기위해 멀티탭을 통해 전기를 가져오고 그 전기는 멀티탭에서 그 멀티탭의 전기는 멀티탭에서... 도르마무... 거래를 하러왔다... 하하..다시 이야기로 돌아가서 멀티탭을 사용하기 위해.. 도르마무... 죄송합니다. 다른 내용을 보도록하죠. 결과를 얻기위해 함수속에 함수(자신)을 넣는 것입니다. 가장 쉬운 예제는 팩토리얼입니다. 함수로 예를 들겠습니다. import Foundation func factorial(_ n : Int) -> Int ..

반응형