Solution 1
피보나치 수열을 dp로 푸는 건 자주 나오기 때문에 아무래도 찾아서 다시 적어 봤다.
private int[] solution(int n) {
StringBuilder sb = new StringBuilder();
int[] arr = new int[n];
arr[0] = 1;
arr[1] = 1;
for (int i = 2; i < n; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
return arr;
}
Solution 2 (강사님 풀이)
간단하게 前항과 前前항을 더해서 c를 만들어주고, 前항 변수에 c를 담고 前前항 변수에 b를 담고 반복한다.
private void solution(int n) {
int a = 1, b =1, c;
System.out.print(a + " "+ b + " ");
for (int i = 2; i < n; i++) {
c = a + b;
System.out.print(c+ " ");
a = b;
b = c;
}
}
'알고리즘 > 인프런_자바코테강의' 카테고리의 다른 글
인프런 6. 뒤집은 소수 (Java) (0) | 2022.04.20 |
---|---|
인프런 5.소수(에라토스테네스 체)_Java (0) | 2022.04.20 |
인프런 3. 가위 바위 보 (Java) (0) | 2022.04.20 |
인프런 2. 보이는 학생 (Java) (0) | 2022.04.20 |
인프런 13. 큰 수 출력하기 (Java) (0) | 2022.03.30 |