KoreanFoodie's Study

SW 역량테스트 - [백준] 퇴사 문제 풀이/해답/코드 (C++ / JAVA) 본문

Data Structures, Algorithm/SW 역량테스트

SW 역량테스트 - [백준] 퇴사 문제 풀이/해답/코드 (C++ / JAVA)

GoldGiver 2020. 10. 15. 23:37


SW 역량 테스트 준비를 위한 핵심 문제들을 다룹니다!

해답을 보기 전에 문제를 풀어보시거나, 설계를 하고 오시는 것을 추천드립니다. 

코드에 대한 설명은 주석을 참고해 주세요 :)

 


문제 링크 : www.acmicpc.net/problem/14501

해답 코드 : 

 

#include <iostream>
#include <vector>
#include <math.h>
#include <algorithm>

using namespace std;

typedef struct table {

	int time;
	int price;

} table;

int N;
table consult[17];
int max_val[30];

int main() {

	cin >> N;
	table input;
	int t_in, p_in;
	int ans = 0;
	int temp;
	
	fill(max_val, max_val + 30, 0);

	for (int i = 2; i <= N+1; i++) {
		cin >> t_in >> p_in;
		consult[i] = {t_in, p_in};
	}
	
	for (int i = 2; i <= N+1; i++) {
		t_in = consult[i].time;
		p_in = consult[i].price;

		// shift max_values in the array
		max_val[i - 1] = max(max_val[i-1], max_val[i - 2]);
		
		// update maximum array
		max_val[i + t_in - 1] = max(max_val[i-1] + p_in, max_val[i + t_in - 1]);
	}

	for (int i = N+1; i > 0; i--) {
		if (ans < max_val[i]) ans = max_val[i];
	}

	cout << ans;
}

 

 

SW 역량테스트 준비 - [모의 SW 역량테스트] 풀이 / 코드 / 답안 (C++ / JAVA)

SW 역량테스트 준비 - C++ 코드, Java 코드

SW 역량테스트 준비 - 백준 알고리즘 문제

Comments