본문 바로가기
  • 개발하는 곰돌이

다이나믹 프로그래밍2

[Kotlin] 백준 9461 : 파도반 수열 문제 링크 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 문제 해설 문제의 제목인 파도반 수열(Padovan sequence)은 Richard Padovan의 이름을 따서 명명된 수열이다. 문제의 그림은 파도반 수열을 나타내는 대표적인 그림 중 하나인데, \(n\)번째 정삼각형의 변의 길이를 \(P(n)\)이라고 할 때 \(P(4)\)부터는 아래와 같이 나타낼 수 있다. \(P(4)=2=1+1=P(1)+P(2)\) \(P(5)=2=1+1=P(2)+P(3)\) \(P(6)=3=1+2=P(3)+P(4)\) \(P(7.. 2023. 3. 1.
[Kotiln] 백준 17175 : 피보나치는 지겨웡~ 문제 링크 17175번: 피보나치는 지겨웡~ 혁진이는 알고리즘 문제를 만들라는 독촉을 받아 스트레스다. 하지만 피보나치 문제는 너무 많이 봐서 지겹기 그지없다. 그러나 문제를 만들 시간이 없는 혁진이는 피보나치 문제를 응용해서 www.acmicpc.net 문제 해설 다이나믹 프로그래밍의 기초가 되는 문제이다. 피보나치 수의 특성 상 \(fibonacci(n)\)을 입력했을 때의 \(fibonacci\) 함수 호출 횟수 또한 이전 \(fibonacci\) 함수의 호출 횟수로 구할 수 있다. \(fibonacci(n)=fibonacci(n-1)+fibonacci(n-2)\)라는 것은 함수 호출 횟수는 마찬가지로 이전 2개의 \(fibonacci\) 함수 호출 횟수를 더한 값 + (\(fibonacci(n)\.. 2023. 2. 20.