https://programmers.co.kr/learn/courses/30/lessons/43104
간단한 DP 문제였다.
다음 타일의 크기를 구하는 과정은 피보나치 수열이었고,
전체 둘레를 구하는 과정은 타일이 그려지는 패턴을 보고 직관으로 파악하였다.
#include <string>
#include <vector>
using namespace std;
long long solution(int N) {
long long answer = 0;
vector<long long> v(N+1);
// 1~n까지 반복
v[1]=1,v[2]=1; // 초기화
for(int i=3;i<=N;i++){
v[i] = v[i-1]+v[i-2]; // DP
}
// 둘레 계산 (N 번째 정사각형 둘레 + N-1번째 정사각형의 둘레 반)
answer += ((4 * v[N]) + (2*v[N-1])) ;
return answer;
}
'Archived(CSE Programming) > 알고리즘(C++)' 카테고리의 다른 글
프로그래머스_ 정수 삼각형 (0) | 2019.11.17 |
---|---|
프로그래머스_단속카메라 (0) | 2019.11.17 |
프로그래머스_N으로 표현 (0) | 2019.11.16 |
프로그래머스_2*n 타일링 (0) | 2019.11.16 |
백준 17144_미세먼지 안녕! (0) | 2019.10.19 |