* 생각한 아이디어 및 문제 풀이
dp[n] = dp[n-1] + dp[n-2];
dp[1], d[2]는 초기에 선언해준다.
* 코드
#include <iostream>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int N;
cin >> N;
int dp[1001];
dp[1] = 1; dp[2] = 2;
if(N > 2){
for(int i=3; i<=N; i++){
dp[i] = (dp[i-1] + dp[i-2]) % 10007;
}
}
cout << dp[N];
}
* 회고
네모가 같은 모양인 것을 두번으로 카운트해서 처음에 어려움이 있었다.
문제가 어떤 형태로 만들어지는지 그림으로 그려서 분석해보고,
문제의 패턴을 분석하는 것이 중요하다는 생각이 들었다.
* 문제 링크 : https://www.acmicpc.net/problem/11726
11726번: 2×n 타일링
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.
www.acmicpc.net
* 참고 링크 : https://assb.tistory.com/entry/%EB%B0%B1%EC%A4%80-11726%EB%B2%88-2xn-%ED%83%80%EC%9D%BC%EB%A7%81
백준 11726번: 2xn 타일링
https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지..
assb.tistory.com
'algorithm > CodingTest' 카테고리의 다른 글
코딩테스트 준비: Java 기본 문법 (0) | 2024.06.26 |
---|---|
프로그래머스 > 코딩테스트 연습 > 정렬 > 가장 큰 수 (Python3) (0) | 2024.06.20 |
[GDSC Week4-1] 백준 9095번:: 1, 2, 3 더하기 (C++) (0) | 2021.10.30 |
C++ 알고리즘:: 다이나믹 프로그래밍 (0) | 2021.10.30 |
C++ 알고리즘:: 완전 탐색(Brute-Force) & 백트레킹(Backtracking) (0) | 2021.10.24 |