11726

qkrrnjswo·2023년 7월 12일
0

백준, 프로그래머스

목록 보기
28/53

1. 2×n 타일링

2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.

아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.


2. 나만의 문제 해결

n=1 1
n=2 2
n=3 3
n=4 5
n=5 8
n=6 13
n=7 21
...

n>2, F(n) = F(n-1) + F(n-2)


3. code

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		final int num = 10007;
		int a1 = 1;
		int a2 = 2;
		int result = 0;

		if (n == 1)
			System.out.println(1);
		else if (n == 2)
			System.out.println(2);
		else{
			for (int i = 2; i < n; i++) {
				result = a1 + a2;
				a1 = a2;
				a2 = result;
				if (a1 > num) {
					a1 = a1 % num;
					a2 = a2 % num;
				}
			}

			System.out.println(result % num);
		}
	}

0개의 댓글