문제
https://school.programmers.co.kr/learn/courses/30/lessons/12914
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
효진이는 1칸 또는 2칸을 뛰어서 이동할 수 있다.
효진이가 3번째 칸에 가려고 하는 경우의 수는
1번째 칸에서 2칸 뛰는 방법 1가지
2번째 칸에서 1칸 뛰는 방법 1가지
따라서, 3번째 칸까지는 1번째 칸까지 가는 방법의 수 + 2번째 칸까지 가는 방법의 수의 값과 같다.
다시, 4번째 칸에 가려고 하는 경우의 수는
3번째 칸에서 1칸 뛰는 방법 1가지
2번째 칸에서 2칸 뛰는 방법 1가지
따라서, 4번째 칸까지 가는 방법의 수는 3번째 칸을 가는 방법의 수 + 2번째 칸을 가는 방법의 수
주의
이유는 못 찾았는데... dp배열 선언 시, n+1 사이즈로 선언하면 메모리 때문인지 정답 테케 1번이 안 맞는다..
그래서 최대 사이즈 + 1인 2001로 선언
전체 코드
class Solution {
public long solution(int n) {
long answer = 0;
long[] dp = new long[2001];
dp[1] = 1;
dp[2] = 2;
for(int i=3; i<=n; i++){
dp[i] = (dp[i-2] + dp[i-1])%1234567;
}
answer = dp[n];
return answer;
}
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 할인 행사 (Java/자바) (0) | 2023.11.18 |
---|---|
[프로그래머스] N개의 최소공배수 (Java/자바) - 유클리드호제법 (0) | 2023.11.17 |
[프로그래머스] 수식 최대화(Java/자바) || 2020카카오인턴십 - dfs, 순열 (0) | 2023.11.17 |
[프로그래머스] 영어 끝말잇기 (Java/자바) (0) | 2023.10.14 |
[프로그래머스] 짝지어 제거하기(Java/자바) || 2017 팁스타운(stack, 완전탐색) (0) | 2023.10.14 |