프로그래밍 공부
BOJ/백준 13301 타일 장식물 본문
https://www.acmicpc.net/problem/13301
해결 아이디어
그림을 보다보면 규칙이 보여서 규칙을 찾아서 해결 했다. dp식을 세울 수 있는 방법은 2가지가 있다
dp[n] * 4 + dp[n-1] * 2로 세우거나
dp[n] * 3 + dp[n - 1] * 3 + dp[n - 2] 이런식으로 계산 하는 방법도 있다.
import java.io.*;
public class _13301 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
long n = Long.parseLong(br.readLine());
long[] dp = new long[(int)n];
if(n == 1){
bw.write(4 + "");
}
else if(n == 2){
bw.write(6 + "");
}
else{
dp[0] = 1;
dp[1] = 1;
for(int i = 2; i < n; i++){
dp[i] = dp[i - 1] + dp[i - 2];
}
// long ans = dp[(int)n - 1] * 3 + dp[(int)n - 2] * 3 + dp[(int)n - 3];
long ans = dp[(int)n - 1] * 4 + dp[(int)n - 2] * 2;
bw.write(ans + "");
}
bw.flush();
bw.close();
}
}
문제 조건에 long long을 적용하라는 이야기가 있어서 long변수를 사용했고, 배열 인덱스는 0부터 시작하니 -1을 다 해줬다.
'Problem Solving > Baekjoon Online Judge' 카테고리의 다른 글
BOJ/백준 1303 전쟁 - 전투 (0) | 2025.04.01 |
---|---|
BOJ/백준 9205 맥주 마시면서 걸어가기 (1) | 2024.12.18 |
BOJ/백준 1003 피보나치 함수 (0) | 2024.10.11 |
BOJ/백준 1967 트리의 지름 (4) | 2024.10.09 |
BOJ/백준 15655 N과 M (6) (0) | 2024.10.09 |
Comments