본문 바로가기
반응형

SWE/코테137

Knapsack Problem ( 배낭 알고리즘) 최종 요약 Knapsack Problem ( 배낭 알고리즘 ) 의 3가지 종류 각 차이점 문제 풀이법 -> 수도코드 2018. 12. 10.
[성실코딩 32일차] 백준 #11047 동전 0 / 그리디 ** 기말고사 준비로 Knapsack 문제만 풀고 싶었는데,,, 이건 그리드알고리즘을 이용해서 푸는 문제라고 한다. 그 이유가 되는 단서는 문제에서,(1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 이러한 조건을 줬기때문에 그리디 알고리즘을 이용해서 푼다고 한다. 막 나누고 어떻게 하던데,, 기말 끝나고 시도해봐야겠다. 나는 Knapsack으로 풀어서 모두 메모리 초과가 났다 ㅠㅠ 1풀이법. 재귀적으로 #include #include // malloc #include // memset #define INF 987654321 int n, k; // 동전의 개수n, 금액k int coins[11]; .. 2018. 12. 10.
[성실코딩 32일차] 백준 #2294 동전 2 / Knapsack 기말고사 준비로 Knapsack Problem 문제만 골라서 풀고 있다. 이 문제는 Unbounded Knapsack Problem으로 분류할 수 있고 내가 냅색을 공부할 때 예제로 봤던 문제와의 차이점은 배낭 안의 물건들의 무게의 합이 배낭이 최대 수용할 수 있는 무게와 같지 않으면 불가능으로 처리하고 -1을 반환해야하는 것이다 따라서 '배낭 안의 물건들의 무게의 합 == 배낭의 무게' 를 확인하기 위하여 findMaximumValue 함수에서 if( products[i].weight // malloc #include // memset #define INF 987654321 int n, k; // 동전의 개수n, 금액k int coins[101]; int DP[10001] = {.. 2018. 12. 10.
배낭 문제(Knapsack Problem) - Bounded Knapsack Bounded Knapsack Problem: 물건의 갯수가 제한적일 때(유한할 때) N kg 을 채우는 최대 금액의 방법? 참고 구현 코드- 이 분은 java로 구현했고, array 를 만들지 않고 재귀적으로 함수를 타고 들어가서 반환하는 방식으로 구현하였다.https://blog.naver.com/mycho/220725983486 2018. 12. 9.
반응형