반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
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
Archives
Today
Total
관리 메뉴

욱꾸미의 주꾸미 발

[코딩테스트] 백준(BAEKJOON) - 2×n 타일링 2(Java, 11727번) 본문

코딩테스트/백준

[코딩테스트] 백준(BAEKJOON) - 2×n 타일링 2(Java, 11727번)

욱꾸미 2023. 2. 4. 18:38
반응형

안녕하세요~

 

벌써 1월이 지나가고 2월이네요~

이제는 날씨도 제법 풀려 나름 따뜻해지고 있습니다.

 

이래저래 스프링도 공부하고 하느라 정신이 없네요 ㅠㅠ😂😂

 

오늘 풀어볼 문제 바로 시작하겠습니다.

https://www.acmicpc.net/problem/11727

 

11727번: 2×n 타일링 2

2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다.

www.acmicpc.net

 

문제입니다.

 

어떠신가요 다들 풀으셨나요?

 

저는 운좋게 규칙이 보여서 풀어낼 수 있었습니다.

그렇다면 저의 코드 남겨드리겠습니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;


public class Main {
		public static void main(String[] args) throws NumberFormatException, IOException {
			Scanner sc=new Scanner(System.in);
			int num=sc.nextInt();
			int[]dp=new int[num+1];
			
			
			dp[1]=1;
			if(num>1)
			{
				dp[2]=3;
				
				for(int i=3;i<=num;i++)
					dp[i]=((dp[i-2]*2)+dp[i-1])%10007;
				
			}

			System.out.println(dp[num]);
	}

}

그렇습니다.

 

저는 이렇게 하나씩 그려가면서 규칙을 찾았습니다.

 

쓰다가 규칙을 찾아보자~ 라고 생각하던 중 

f(n)=f(n-2)*2+f(n-1) 이라는 규칙을 찾게됐습니다.

찾은 규칙을 갖고 나머지 예시로 준 문제에 대입해보니 다행히 잘 맞네요!

 

이렇게 해서 해당 문제를 풀어냈습니다.

 

네 오늘은 간단하게 마무리하겠습니다.

 

감사합니다~ :D

반응형