티스토리 뷰
문제는 위와 같으며 피보나치 수는 대표적인 재귀 문제이기 때문에 처음에 재귀 방식을 사용하였지만 시간 초과가 발생하여 단순히 for 문을 돌면서 문제를 해결하였습니다.
먼저 피보나치 수열을 사용한 파이썬 코드입니다.
from sys import stdin
def fibonacci(num):
if num == 0:
return 0
if num == 1:
return 1
return fibonacci(num - 1) + fibonacci(num - 2)
n = int(stdin.readline())
print(fibonacci(n))
위 코드는 시간 초과 에러가 발생하기 때문에 for 문을 사용한 파이썬 코드를 보겠습니다.
from sys import stdin
n = int(stdin.readline())
a, b = 0, 1
while n > 0:
a, b = b, a + b
n -= 1
print(a)
자바 코드는 다음과 같습니다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = 0;
int b = 1;
int n = Integer.parseInt(br.readLine());
while (n > 0) {
int tmp = a + b;
a = b;
b = tmp;
n -= 1;
}
System.out.println(a);
}
}
'알고리즘' 카테고리의 다른 글
[알고리즘 / 백준] 2751 - 수 정렬하기 2 (0) | 2020.11.12 |
---|---|
[알고리즘 / 백준] 7490 - 0 만들기 (0) | 2020.11.11 |
[알고리즘 / 백준] 10989 - 수 정렬하기 3 (0) | 2020.11.10 |
[알고리즘 / 백준] 11650 - 좌표 정렬하기 (0) | 2020.11.10 |
[알고리즘 / 백준] 10814 - 나이순 정렬 (0) | 2020.11.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- CodePipeline
- Dynamic Programming
- spring
- CodeCommit
- SWIFT
- CodeDeploy
- 조합
- 소수
- java
- BFS
- array
- Combination
- AWS
- ionic
- EC2
- Algorithm
- DFS
- sort
- programmers
- 프로그래머스
- map
- Baekjoon
- 에라토스테네스의 체
- permutation
- 순열
- ECR
- cloudfront
- search
- 수학
- string
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함