코테/lvl2

프로그래머스 2 x n 타일링(lvl2) 풀어보기

디비드킴 2026. 9. 28. 17:05

문제링크

https://school.programmers.co.kr/learn/courses/30/lessons/12900

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제 핵심

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

직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 solution 함수를 완성해주세요


알고리즘

-피보나치수열


코드

 static  int solution(int n) {
        int answer =1;
        int index=1;
        int[] arr=new int[2];
        arr[0]=answer;
        arr[1]=answer;
        while (index<n) {
            answer=(arr[0]+arr[1])%1000000007;
            arr[0]=arr[1];
            arr[1]=answer;
            index+=1;
        }
        System.out.println(answer);
        return answer;
    }

 


결과




gpt 피드백

알고리즘

알고리즘은 적절해. 핵심을 제대로 잡았어.

코드에서 개선할 부분

결론: 알고리즘은 그대로 두면 되고, 배열 → 변수 2개, MOD 상수화 정도만 하면 더 깔끔해. 성능 면에서는 지금 코드도 이미 충분히 잘 짰어.

 
 
 

배운점 과 느낀점

-단순 피보나치 수열이여서 금방 풀었다