코테/프로그래머스

[프로그래머스/Lv. 2] 멀리 뛰기 (JAVA)

imname1am 2023. 10. 8. 00:34
반응형

🔺 문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

🔺 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.*;
 
class Solution {
    public long solution(int n) {
        int[] dp = new int[2001];   // n + 1로 하면 TC 1 통과 못 함
        dp[1= 1;
        dp[2= 2;
        
        for(int i = 3 ; i < 2001 ; i++) {
            dp[i] = (dp[i - 2+ dp[i - 1]) % 1234567;
        }
        
        return dp[n];
    }
}
cs

 

 

🧩 해결 아이디어

• DP

- 피보나치 수열 문제처럼 풀면 된다.

(점화식 : dp[i] = dp[i - 2] + dp[i - 1] )

 

 


🔺 다른 풀이들

- dp 배열을 long형으로 선언하셨고, n이 1인 경우를 따로 빼서 구해주셨다.

 

(Java) 프로그래머스 - 멀리뛰기

레벨 2 치고는 너무 쉬운 문제였다. 이게 왜 레벨 2에 있는지 모를 정도로... 예전에 백준에서 비슷한 문제를 풀어봐서인지 문제를 보자마자 DP로 풀었다. 거리가 1일 때는 뛰는 방법이 1칸 이동 - 1

rovictory.tistory.com

 


💬 느낀 점

이것이 레벨2....?

플그머스의 난이도 기준을 모르겠당....

 

1회독 2회독 3회독 4회독 5회독
V        

 

반응형