개발하는 사막여우
개발하는 사막여우
개발하는 사막여우
전체 방문자
오늘
어제
  • All (310)
    • Books (13)
      • 읽기 좋은 코드가 좋은 코드다 (13)
    • Study (6)
      • Blockchain (3)
      • Algorithm (3)
    • Baekjoon (36)
    • Programmers (166)
    • LeetCode (15)
    • Open Source (1)
      • Youtube Popout Player (1)
    • Language (32)
      • Python (9)
      • JS (8)
      • Java (5)
      • HTML (6)
      • CSS (4)
    • Library & Framework (15)
      • React.js (15)
    • IDE (2)
      • IntelliJ (2)
    • Airdrop (9)
    • Tistory (2)
    • etc.. (12)
      • Cozubi (6)
      • lol-chess (0)

블로그 메뉴

  • Github

공지사항

인기 글

태그

  • 읽기 좋은 코드가 좋은 코드다
  • 2018 KAKAO BLIND RECRUITMENT
  • programmers
  • 클린 코드
  • Python
  • Cozubi
  • Java
  • 프로그래머스
  • 파이썬
  • 알고리즘문제풀이
  • 신규 코인 에어드랍
  • 코딩테스트연습
  • 코인줍줍
  • 프로그래머스 위클리 챌린지
  • 백준
  • 코주비
  • 카카오 코딩테스트
  • 카카오 공채
  • 클린 코드 작성법
  • 카카오 알고리즘 문제

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
개발하는 사막여우

개발하는 사막여우

[리트코드] 45. Jump Game II / Javascript
LeetCode

[리트코드] 45. Jump Game II / Javascript

2021. 9. 28. 20:55
반응형

문제주소 :https://leetcode.com/problems/jump-game-ii/


<문제 설명>

더보기

45. Jump Game II

Medium

5835222Add to ListShare

Given an array of non-negative integers nums, you are initially positioned at the first index of the array.

Each element in the array represents your maximum jump length at that position.

Your goal is to reach the last index in the minimum number of jumps.

You can assume that you can always reach the last index.

 

Example 1:

Input: nums = [2,3,1,1,4] Output: 2 Explanation: The minimum number of jumps to reach the last index is 2. Jump 1 step from index 0 to 1, then 3 steps to the last index.

Example 2:

Input: nums = [2,3,0,1,4] Output: 2

 

Constraints:

  • 1 <= nums.length <= 104
  • 0 <= nums[i] <= 1000

 

<풀이법>

▒ 한줄 개념: dp ▒ 

기본적인 dp 문제 중 하나입니다.

문제 풀이법은 다음과 같습니다.

 

1. dp 배열 생성

2. nums를 반복문으로 탐색

  2-1. num값 만큼 반복문을 진행하며 경우 확인 (num = 2일 경우, 1칸 뛰었을 때/2칸 뛰었을 경우 존재)

  2-2. n만큼 점프한 칸의 값(dp[i+n])이 현재 칸까지의 최소 점프횟수 + 1(dp[i]+1) 보다 클 경우, 값 갱신(dp[i+n] = dp[i]+1)

3. dp의 마지막 값을 반환

 

<코드(Javascript)>

/**
 * @param {number[]} nums
 * @return {number}
 */
var jump = function(nums) {
    const dp = [0];
    for(let i = 1; i < nums.length; i++){
        dp[i] = Number.MAX_VALUE;
    }
    
    nums.map((num, i) => {
        for(let j = 1; j <= num && i+j < nums.length; j++){
            dp[i+j] = dp[i] + 1 < dp[i+j] ? dp[i] + 1 : dp[i+j];
        }
    })
    
    return dp[nums.length - 1];
};

 

 

더 많은 코드 보기(GitHub) : github.com/dwkim-97/CodingTest

 

 

반응형
저작자표시 (새창열림)

'LeetCode' 카테고리의 다른 글

[리트코드] 967. Numbers With Same Consecutive Differences / Javascript  (0) 2021.09.30
[리트코드] 1306. Jump Game III / Javascript  (0) 2021.09.29
[리트코드] 336. Palindrome Pairs / Javascript  (0) 2021.09.15
[리트코드] 5. Longest Palindromic Substring / Javascript  (0) 2021.09.09
[리트코드] 2. Add Two Numbers / Javascript  (0) 2021.09.09
    'LeetCode' 카테고리의 다른 글
    • [리트코드] 967. Numbers With Same Consecutive Differences / Javascript
    • [리트코드] 1306. Jump Game III / Javascript
    • [리트코드] 336. Palindrome Pairs / Javascript
    • [리트코드] 5. Longest Palindromic Substring / Javascript
    개발하는 사막여우
    개발하는 사막여우
    개발개발 주저리주저리

    티스토리툴바