[Java] 프로그래머스 멀리뛰기

2024. 7. 13. 10:36·Algorithm/Programmers
//dfs으로 하면 시간초과
// % 1234567이니까 무조건이다.
/*
1
1

2
11
2

3
111
21
12

4
1111
112
121
211
22

5
11111
1112
1121
1211
2111
221
122
212

6
111111
11112
11121
11211
12111
21111
2211
2112
2121
1122
222

dp[n] = dp[n-1] + dp[n-2]


*/

class Solution {
    
    public long solution(int n) {
        long[] dp = new long[2001];
        dp[0] = 0;
        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];
    }
}

 

풀이

1. 우선 % 1234567을 한다는건 경우의수가 엄청나다는 것이니 탐색으로는 풀 수 없다.

2. 하나씩 규칙을 확인해봤다. 처음에는 1 + (n/2 ~ n-1의합) + n%2==0일경우 +1 이런식으로 풀었는데 틀렸다.

3. 다시보니 dpn은 (dp-1) + (dp-2)였다. 그렇게 dp로 문제를 해결했다.

 

느낀점

- 우선 뭔가 점화식이 듣도보도 못한 이상한 느낌이 든다면 웬만하면 틀린거였다...

- 웬만한 점화식은 깔끔하고 아름답게 생겼다. 이렇게 생각해야 빠르게 해답을 찾는 것 같다.

 

 

 

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

 

프로그래머스

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

programmers.co.kr

 

저작자표시 (새창열림)

'Algorithm > Programmers' 카테고리의 다른 글

[JAVA] 프로그래머스 귤 고르기  (0) 2024.11.25
[JAVA] 프로그래머스 리코쳇 로봇  (0) 2024.09.10
[C++] 프로그래머스 요격시스템  (0) 2024.04.03
[C++] 프로그래머스 이진 변환 반복하기  (0) 2024.04.01
[C++] 프로그래머스 징검다리건너기  (0) 2024.03.19
'Algorithm/Programmers' 카테고리의 다른 글
  • [JAVA] 프로그래머스 귤 고르기
  • [JAVA] 프로그래머스 리코쳇 로봇
  • [C++] 프로그래머스 요격시스템
  • [C++] 프로그래머스 이진 변환 반복하기
chanheess
chanheess
'왜' 그렇게 했는가?에 대한 생각으로 공부 및 작업의 저장관리
  • chanheess
    왜 그렇게 생각했는가?
    chanheess
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Backend Programming
      • Game Programming
        • Unreal
        • DirectX
      • C++
        • Memo
        • Basic
        • Effective Modern
      • Algorithm
        • Memo
        • Baekjoon
        • Programmers
        • HackerRank, LeetCode
      • Data Structure
      • Design Pattern
      • Etc
        • Memo
        • Daily Log
        • Book
  • 최근 글

  • 최근 댓글

  • 태그

    Java
    JPA
    티스토리챌린지
    오블완
    알고리즘
    프로그래머스
    spring
    dfs
    dp
    백준
    JWT
    위클리 챌린지
    SpringSecurity
    c++ 기초 플러스
  • hELLO· Designed By정상우.v4.10.0
chanheess
[Java] 프로그래머스 멀리뛰기
상단으로

티스토리툴바