[백준,BOJ 11726] 2xn 타일링( JAVA 구현)

2019. 11. 30. 15:48·CodingTest/백준 온라인 저지(BOJ)
반응형

-내 생각

  우선 DP에 대해서 개념이 없을 때 강의를 보면서 잠깐 풀어봤던 문제로, 다시 풀어 보았다. 

 

-해법

  DP문제의 경우 점화식을 구하기 위한 경우의 수를 잘 계산해야 하는 것 같다. N이 1일 경우 2X1크기의 타일 1개를 배치할 수 있고, 2일 경우 2X1크기의 타일 2개, 1X2크기의 타일 2개로 총 2개의 경우의 수가 존재하게 된다. N이 3일 경우는 N이 1일 경우와 2일 경우의 타일 배치를 이용하기 때문에 새로운 모양이 등장하지 않는다. 그렇기 때문에 1일 때의 경우의 수 + 2일 때의 경우의 수를 하면 N이 3일 때의 경우의 수가 도출된다. 점화식으로는 dp [i] = dp [i-1] + dp [i-2]로 표현할 수가 있다.

 

import java.util.*;

public class Main {
	
	static int dp[];
	
	public static void main(String[] args)   {
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		dp = new int[n+1];
		
		dp[1] =1;
		if(n>=2) // 런타임 에러 방지
			dp[2]=2;
		
		for(int i=3;i<=n;i++) {
			dp[i] = dp[i-1]+ dp[i-2];
			dp[i] = dp[i] % 10007; //int타입의 데이터 범위를 벗어나지 않게 나머지값을 저장한다.
		}
		
		System.out.println(dp[n]);
		

		
	}
	
}
저작자표시 (새창열림)
'CodingTest/백준 온라인 저지(BOJ)' 카테고리의 다른 글
  • [백준,BOJ 9095] 1, 2, 3 더하기( JAVA 구현)
  • [백준,BOJ 1793] 타일링( JAVA 구현)
  • [백준,BOJ 10992] 별 찍기-17( JAVA 구현)
  • [백준,BOJ 10991] 별 찍기-16( JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    component-scan
    백준2751
    boj1427
    leetcode 2236
    프로그래머스
    Java
    Easy
    TypeScript
    백준7576
    medium
    백준7576자바
    meidum
    백준
    BOJ
    알고리즘
    자바
    백준1260
    next 14
    boj2108
    백준1427
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[백준,BOJ 11726] 2xn 타일링( JAVA 구현)
상단으로

티스토리툴바