반응형
[알고리즘][DP][2913] 이친수
https://www.acmicpc.net/problem/2193
[풀이]
- 규칙을 코드로 표현하다가 길어져서 점화식을 구해서 코드로 구현했다.
- 다양한 설명이 많은데 이에 대해선 다시 한번 해봐야겠다.
- arr[1] = 1
- arr[2] = 1
- arr[3] = 2
- arr[4] = 3
- arr[5] = 5
- arr[6] = 8
- ..
- arr[n] = arr[n-1] + arr[n-2] 라는 식이 도출 가능하다.
- 유의해야 할 점은 arr[1]과 arr[2]가 모두 1 이라는 점!
[코드]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | package algorithm_basic; import java.util.Scanner; import java.math.*; public class q_2193 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); //n자리 System.out.println(calc(n)); } public static long calc(int n) { long[] arr = new long[n+1]; arr[1]=1; if(n>=2) { arr[2]=1; } for(int i=3;i<=n;i++) { arr[i] = arr[i-2]+arr[i-1]; } return arr[n]; } } | cs |
반응형
'CS > Algorithm' 카테고리의 다른 글
[알고리즘][BFS] BFS 기본 개념 (0) | 2018.03.27 |
---|---|
[알고리즘][DFS] DFS 기본 개념 (0) | 2018.03.26 |
[알고리즘][GCD] 재귀를 이용한 유클리드 호제법 (0) | 2018.03.25 |
[알고리즘][DP][1912] 연속합 (0) | 2018.03.25 |
[알고리즘][DP][11057] 오르막 수 (0) | 2018.03.24 |
댓글