Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- id생성
- queue
- BFS
- prg패턴
- Stack
- 백준
- 이진탐색
- 외부 서비스 장애
- 슬라이스 테스트
- 이분탐색
- 다중 서버
- ddl-auto
- 비관적 락
- java
- 벌크헤드패턴
- 캐시 스탬피드
- 낙관적 락
- 스택
- DP
- 타임아웃
- 베타락
- 알고리즘
- session인증
- expired key
- JPA
- 자바
- thundering herd
- 트라이 자료구조
- Entity Manager
- 예외처리
Archives
- Today
- Total
Coding 01
백준[24416]번 : 알고리즘 수업 - 피보나치 수 1 ( JAVA ) 본문
https://www.acmicpc.net/problem/24416
24416번: 알고리즘 수업 - 피보나치 수 1
오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍
www.acmicpc.net
Code
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.PriorityQueue;
public class Main {
static int countfib = 0; // 재귀호출 사용 시 호출 횟수
static int countfibo = 0; // dp 사용 시 호출 횟수
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine()); // n 받기
int[] f = new int[n]; // 동적배열 선언
f[0] = 1; // 첫 번째와 두 번째 수 1로 초기화
f[1] = 1;
fib(n);// 재귀호출 사용
fibonacci(n,f); // dp 사용
bw.write(countfib+" "+countfibo); // 출력
br.close();
bw.close();
}
static int fib(int n) { // 재귀호출
if (n == 1 || n == 2) {
countfib++;
return 1;
}
else{
return (fib(n - 1) + fib(n - 2));
}
}
static int fibonacci(int n,int[] f) { // dp
for(int i=2;i<n;i++) {
f[i] = f[i - 1] + f[i - 2];
countfibo++;
}
return f[n-1];
}
}
문제에 재귀호출과 dp 코드가 있는 만큼 호출 횟수만 처리하는 코드만 작성하면 돼서 쉽게 풀었다.
'백준' 카테고리의 다른 글
백준[9184]번 : 신나는 함수 실행 ( JAVA ) (0) | 2023.07.29 |
---|---|
백준[2748]번 : 피보나치 수 2 ( JAVA ) (2) | 2023.07.29 |
백준[11286]번 : 절댓값 힙 ( JAVA ) (0) | 2023.07.25 |
백준[1927]번 : 최소 힙 ( JAVA ) (0) | 2023.07.25 |
백준[11279]번 : 최대 힙 ( JAVA ) (0) | 2023.07.23 |