티스토리 뷰
반응형
백준 2193번 이친수
https://www.acmicpc.net/problem/2193
정답 코드
#include <iostream>
using namespace std;
long long int arr[91] = { 0,1,1 };
long long int fibo(int n) {
if (n == 1 || n == 2)
return 1;
else if (arr[n] != 0)
return arr[n];
else {
return arr[n] = fibo(n - 1) + fibo(n - 2);
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
cout << fibo(n);
}
문제 풀이
dp를 활용해서 풀어야지 시간 초과가 나지 않는 문제입니다. 그리고 자료형의 범위가 크기 때문에 long long형을 사용해야 합니다. 1자리일때 1개(1), 2자리일때
1개(10), 3자리일때 2개(100,101), 4자리일때 3개(1000,1001,1010)식이여서 피보나치 수열과 형식이 똑같습니다. 그래서 피보나치 수열을 dp방식으로 구현해주면 문제를 해결할 수 있습니다.
반응형
'Algorithm > BOJ' 카테고리의 다른 글
백준 2230번 C++ (0) | 2023.08.05 |
---|---|
백준 2206번 C++ (0) | 2023.08.05 |
백준 2178번 C++ (0) | 2023.08.05 |
백준 2164번 C++ (0) | 2023.08.04 |
백준 2161번 C++ (0) | 2023.08.04 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 유니온 파인드
- 세그먼트 트리
- C++ Stack
- DP
- 이분 매칭
- 자료구조
- 알고리즘 공부
- 반복문
- 스택
- 알고리즘
- 백준
- 자바스크립트
- c++ string
- java
- 에라토스테네스의 체
- CSS
- Do it!
- C++
- 우선순위 큐
- 자바
- BFS
- html
- js
- 카운팅 정렬
- 투 포인터
- 백준 풀이
- DFS
- HTML5
- 스프링 부트 crud 게시판 구현
- 유클리드 호제법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함