programmers/level3

[프로그래머스] 2 x n 타일링 (Python)

riley_dev 2021. 1. 28. 19:47

프로그래머스 level3

[연습문제] 2 x n 타일링

programmers.co.kr/learn/courses/30/lessons/12900

 

코딩테스트 연습 - 2 x n 타일링

가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는

programmers.co.kr

프로그래머스 풀이 깃 🔗

 

이 문제는 문제를 읽고 그 경우의 수를 어떤 방식으로 고려해야할 지 감이 오지 않아서 검색을 해봤다. 내가 찾은 풀이법은 가로의 길이가 1씩 증가함에 따라 타일을 놓는 방법이 피보나치 수열의 형태로 증가한다는 것을 활용한 풀이법이었다.

 

Python code

더보기
def solution(n):
  tile=[0]*n
  tile[0]=1
  tile[1]=2
  for i in range(2, n):
    tile[i]= (tile[i-1]+tile[i-2]) %1000000007
  answer = tile[n-1]
  return answer