피보나치 (2) 썸네일형 리스트형 [프로그래머스] 멀리 뛰기 (파이썬) 문제 풀이 위 문제는 현재 위치에서 한 칸 가거나 두 칸 가서 끝까지 가려면 얼마나 가야하는지 구하는 문제다. 처음에는 재귀와 DP를 섞어서 문제를 풀었으나 재귀를 너무 깊게 호출해서 런타임 에러가 발생했다. 그렇기에 다른 사람들의 코드를 참고하였다. 아래 풀이는 피보나치 수열처럼 접근한 문제이다. 생각해보면 어차피 앞으로 두칸 혹은 한칸만 이동할수 있기에 현재 위치 까지 오기까지 나의 위치 - 2 까지 올수있는 방법 + 나의 위치 - 1 까지 올수있는 방법을 더한것과 동일하다. 코드 def solution(n): if n [백준] 1003 피보나치 함수 (JAVA) 풀이 이 문제는 dp를 이용한 피보나치 수열문제의 연장선이다. 문제에서는 0과 1이 출력하는 수 구하라고 하였는데 이는 곧 dp로 치환하여 풀면 다음과 같다. f_0(n) --> n일때 0의 출력수 f_1(n) --> n일때 1의 출력수 라고 가정을 한다면 이는 f_0(2) = f_0(1) +f_0(0), f_0(3) = f_0(2) + f_0(1) 과 같다. 그러므로 기존에 하던 dp그대로 하면된다. 하지만 여기서 주의해야할 점은 0과1 을 동시에 처리해줘야하는것이다. (아니면 시간초과가 난다... 자바....ㅜㅜ) 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ja.. 이전 1 다음