택시짱의 개발 노트

[프로그래머스] 타일 장식물 본문

알고리즘

[프로그래머스] 타일 장식물

택시짱 2020. 2. 7. 13:59

링크

https://programmers.co.kr/learn/courses/30/lessons/43104

 

코딩테스트 연습 - 타일 장식물 | 프로그래머스

대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개의 나선 모양처럼 점점 큰 타일을 붙인 형태였다. 타일 장식물의 일부를 그리면 다음과 같다. 그림에서 타일에 적힌 수는 각 타일의 한 변의 길이를 나타낸다. 타일 장식물을 구성하는 정사각형 타일 한 변의 길이를 안쪽 타일부터 시작하여 차례로 적으면 다음과 같다. [1, 1

programmers.co.kr

풀이

N번째 도형의 크기는 N-1 번쨰 + N-2 번째 도형의 합이다.

구하고자 하는 N번째 둘레는 (N + 2*(N-1) + N-2) * 2 이다.

#include <string>
#include <vector>
#include<iostream>

using namespace std;

long long dp[2000];

long long solution(int N) {
	dp[1] = dp[2] = 1;

	for (int i = 3; i <= N; i++) {
		dp[i] = dp[i - 1] + dp[i - 2];
	}

	long long answer = (dp[N] + 2* dp[N-1] + dp[N-2]) * 2;
	return answer;
}

int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);

	int N; cin >> N;
	cout << solution(N);
}
반응형

'알고리즘' 카테고리의 다른 글

[백준] 2169번 - 로봇 조종하기  (0) 2020.02.07
[프로그래머스] 정수 삼각형  (0) 2020.02.07
[백준] 1339번 - 단어 수학  (0) 2020.02.01
[백준] 2206번 - 벽 부수고 이동하기  (0) 2020.02.01
[백준] 3190번 - 뱀  (0) 2020.01.30
Comments