LV2 멀리 뛰기 (Java)

2023. 11. 10. 22:42·프로그래머스

 


 

문제

 

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

 

프로그래머스

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

programmers.co.kr

풀이

dp로 풀이했다.

 

1칸 또는 2칸만 움직일 수 있다는걸 반대로 생각하면 -> 내가 있는 현재 위치 - 1 에서 오는 방법, 내가 있는 현재 위치 -2 에서 오는 방법 두가지가 있다.

 

따라서 점화식은 d[i] = d[i-1] + d[i-2] 로 정의할 수 있다.

 

그리고 값 오버 플로우를 대비해서 dp 배열에 저장할때부터 % 연산하는걸 주의해야 한다. 마지막에 return할때 처리할려면 이미 배열안은 오버 플로우가 나있는 상황이니 말이다.

 

코드

import java.util.*;

class Solution {
    
    public long solution(int n) {
        long d[] = new long[2001]; // n번째 칸에 도달하는 방법의 개수
        d[1] = 1;
        d[2] = 2;
        
        for(int i=3; i<2001; i++){
            d[i] = (d[i-1] + d[i-2])%1234567;
        }
        
        return d[n];
    }
}

 

후기

 

백준에 계단 문제가 생각난다. 이런 dp만 있다면.. 

'프로그래머스' 카테고리의 다른 글

LV2 할인 행사 (Java)  (1) 2023.11.12
LV2 연속 부분 수열 합의 개수 (Java)  (0) 2023.11.12
LV2 N개의 최소공배수 (Java)  (0) 2023.11.10
LV2 예상 대진표 (Java)  (0) 2023.11.10
LV2 구명보트 (Python)  (0) 2023.11.08
'프로그래머스' 카테고리의 다른 글
  • LV2 할인 행사 (Java)
  • LV2 연속 부분 수열 합의 개수 (Java)
  • LV2 N개의 최소공배수 (Java)
  • LV2 예상 대진표 (Java)
whiporithm
whiporithm
https://github.com/whipbaek
  • whiporithm
    whiporithm
    whiporithm
  • 전체
    오늘
    어제
    • 분류 전체보기 (176) N
      • 개발 (17) N
      • LeetCode (3)
      • 백준 (79)
      • 프로그래머스 (64)
      • 회고 (6)
      • 쉘 스크립트 (4)
      • 자바 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    카카오
    파이썬코딩테스트
    코딩테스트
    자바
    파이썬코테
    코테
    백준
    자바알고리즘
    자바코테
    알고리즘
    개발
    파이썬
    파이썬알고리즘
    쉘
    카카오코테
    프로그래머스
    카카오코딩테스트
    nestjs 배포
    Java
    쉘스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
whiporithm
LV2 멀리 뛰기 (Java)
상단으로

티스토리툴바