JXNVCE ALGO-LOG YouJin Jung

BOJ-12865

아주 고전 문제인 배낭 문제 컴알 수업때 교수님이 이걸로 설명해주신게 기억이 난다. 그 때 DP 개념을 처음 접했는데, 아 완전 신세계를 본 듯한 느낌이었다. 어떻게 하면 저렇게 문제에 접근할 수 있는가에서 부터 참 컴퓨터가 좋아할 풀이방식이겠구나 라고 느꼈다. 아직 나랑은 친하 않은 디피야… 이제 좀 친해지자 우리~~~ 😉😉

#include <iostream>
#include <algorithm>

using namespace std;

int dp[101][100001];
pair<int, int> arr[101];
int n, k;

int bag() {
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= k; j++) {
			if (arr[i].first > j) dp[i][j] = dp[i-1][j];
			else dp[i][j] = max(dp[i-1][j], dp[i-1][j-arr[i].first] + arr[i].second);
		}
	}
	return dp[n][k];
}

int main() {
    ios::sync_with_stdio(false);
    cout.tie(NULL); cin.tie(NULL);
	scanf("%d %d", &n, &k);
	for (int i = 1; i <= n; i++) {
		scanf("%d %d", &arr[i].first, &arr[i].second);
	}
	sort(arr, arr + n + 1);
    printf("%d", bag());
}

image

요즘 좋은 감사한 기회로 해커톤 기획에 참가하게 되었는데, GitHub Actions 를 기반으로 자동으로 워크플로우가 흐르도록 하는 해커톤이어서 요즘 관련 다양한 오픈소스 리포지토리를 많이 방문하고 조사해보며 적용시키는게 재밌다!!! 이래서 DevOps 분야가 점점 더 확장되는 이유를 알 것도 재밌다. CI/CD란 참 흥미로운 분야인 것같다… 아직 발가락도 못 담구어 본 상태지만, 아주아주 즐겁게 코드도 짜보고 삽질 중이다~ 🚧🏁🧹

다만 문제가 있다면 잘 못해서 일이 아주아주 미루어진 점… 자꾸 오류가 나고 플로우를 지속적으로 수정하면서 푸시로만 확인이 가능하니… 내가 팀에 민폐를 끼치는 것 같아 죄송하다ㅜㅜ 사실 얼추 다 되었는데, 하면 할수록 더 효율적으로, 간지나게 코드를 짜고 싶은 욕심에 일이 자꾸 딜레이된다…오늘 밤새서 완벽하게 구현해낼거다!!@!@! 🚀🚀