[백준 15486번] DP(다이나믹 프로그래밍) - 퇴사 2

김민지·2023년 8월 17일
0

냅다 시작 백준

목록 보기
78/118

✨ 문제 ✨

✨ 정답 ✨

const { count } = require("console");
const fs = require("fs");
const { nextTick } = require("process");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt";
let input = fs.readFileSync(filePath).toString().trim();


// const fs = require('fs'); 
// let input = fs.readFileSync("/dev/stdin").toString().trim();

input = input.split('\n')

let N = +input.shift();
let input2=input.map((el)=>el.split(' ').map((el2)=>+el2))

const solution=(N, input2)=>{
  const dp=new Array(N+1).fill(0);
  let max=0;
  for (let i=0;i<N;i++){
    max=Math.max(max, dp[i]);
    const [day, pay]=input2[i];
    if (i+day<=N){
      dp[i+day]=Math.max(dp[i+day], max+pay);
    }
  }
  return Math.max(...dp);
}

console.log(solution(N, input2))


🧵 참고한 정답지 🧵

https://junghyeonsu.tistory.com/292

💡💡 기억해야 할 점 💡💡

profile
이건 대체 어떻게 만든 거지?

0개의 댓글