삐까냥의 파도타기

Q14501. 퇴사 본문

코딩/백준 알고리즘

Q14501. 퇴사

금손형아 2019. 2. 17. 15:26

최대 값을 다음 workday에 저장하며 나아가는 로직


workDay가 1인 경우의 함정이 존재하므로 조심하세요.



import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.util.StringTokenizer;


public class Q14501 {


static int[][] dp;

public static void main(String[] args) throws Exception {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

StringTokenizer st = new StringTokenizer(br.readLine());

int num = Integer.parseInt(st.nextToken());

dp = new int[3][num+2];

for (int i = 1; i <= num; i++) {

st = new StringTokenizer(br.readLine());

dp[0][i] = Integer.parseInt(st.nextToken());

dp[1][i] = Integer.parseInt(st.nextToken());

}

for (int i = 1; i <= num; i++) {

int delayDay = dp[0][i];

int nowValue = dp[1][i];

if (i+delayDay-1 <= num || delayDay == 1) {

int tempValue = dp[2][i] + nowValue;

for (int j = i+delayDay; j <= num+1; j++) {

dp[2][j] = Math.max(dp[2][j], tempValue);

}

}

}


System.out.println(Math.max(dp[2][num], dp[2][num+1]));

}


}



'코딩 > 백준 알고리즘' 카테고리의 다른 글

Q11054. 가장 긴 바이토닉 부분 수열  (0) 2019.02.19
Q1965. 상자넣기  (0) 2019.02.18
Q11052. 카드 구매하기  (0) 2019.02.17
Q2156. 포도주 시식  (0) 2019.02.16
Q1890. 점프  (0) 2019.02.16