💡Problem Solving/Programmers
[프로그래머스] 멀리 뛰기 (Java)
gom20
2021. 10. 29. 22:40
문제
https://programmers.co.kr/learn/courses/30/lessons/12914#
코딩테스트 연습 - 멀리 뛰기
효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2
programmers.co.kr
풀이
완전 탐색으로 풀면 시간 초과가 발생한다.
가만 보니 2 x n 타일링 문제와 동일하다.
아래 문제에서 세로 타일 한개를 1칸, 가로타일 두 개를 2칸으로 해당 문제에 대입할 수 있다.
DP문제로 점화식을 이용해서 풀 수 있다.
2021.10.29 - [Alogirthm/Programmers] - [프로그래머스] 2 x n 타일링 (Java)
[프로그래머스] 2 x n 타일링 (Java)
문제 https://programmers.co.kr/learn/courses/30/lessons/12900 코딩테스트 연습 - 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길..
gom20.tistory.com
소스코드
class Solution {
public long solution(int n) {
int[] dp = new int[n+2];
dp[1] = 1;
dp[2] = 2;
for(int i = 3; i <= n; i++){
dp[i] = (dp[i-1] + dp[i-2])%1234567;
}
return dp[n];
}
}