[백준] 12865번 평범한 배낭- 파이썬

2022. 2. 26. 17:19·알고리즘 공부/다이나믹 프로그래밍

https://www.acmicpc.net/problem/12865

 

12865번: 평범한 배낭

첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000)

www.acmicpc.net

이 문제는 다이나믹프로그래밍으로 메모지에이션을 활용해서 푼 방법인다.

이문제를 풀기위해 나는 결국에는...? 못풀었지만 다른 분들의 풀이를 참고하며 풀었다

https://claude-u.tistory.com/208

 

#159 백준 파이썬 [12865] 평범한 배낭 - 냅색 알고리즘

https://www.acmicpc.net/problem/12865 #Solution https://huiyu.tistory.com/entry/DP-01-Knapsack%EB%B0%B0%EB%82%AD-%EB%AC%B8%EC%A0%9C 참조하였음. 유명한 냅색 문제, 냅색 알고리즘이다. 간단하게 말하면..

claude-u.tistory.com

이분의 풀이를 전적으로 참고했다. 유명한 알고리즘 인가보다.

n, k = map(int, input().split())
stuff = [[0,0]]
bag = [[0]*(k+1) for i in range(n+1)]
for i in range(n):
    w, v = map(int, input().split())
    stuff.append((w,v))

for i in range(1, n+1):
    for j in range(1, k+1):
        weight = stuff[i][0]
        value = stuff[i][1]

        if j < weight:
            bag[i][j] = bag[i - 1][j]
        else:
            bag[i][j] = max(value + bag[i - 1][j - weight], bag[i - 1][j])
        
print(bag[n][k])
반응형

'알고리즘 공부 > 다이나믹 프로그래밍' 카테고리의 다른 글

[백준] 11727번 2×n 타일링 2 - 파이썬  (0) 2022.05.02
[백준] 9095번 1, 2, 3 더하기 - 파이썬  (0) 2022.05.02
[백준] 1912번 연속합- 파이썬  (0) 2021.08.09
[백준] 9251번 LCS - 파이썬  (0) 2021.08.09
[백준] 14501번 퇴사 - 파이썬  (0) 2021.08.08
'알고리즘 공부/다이나믹 프로그래밍' 카테고리의 다른 글
  • [백준] 11727번 2×n 타일링 2 - 파이썬
  • [백준] 9095번 1, 2, 3 더하기 - 파이썬
  • [백준] 1912번 연속합- 파이썬
  • [백준] 9251번 LCS - 파이썬
코딩 코딩 코오딩
코딩 코딩 코오딩
  • 코딩 코딩 코오딩
    코딩하는 누누
    코딩 코딩 코오딩
  • 전체
    오늘
    어제
    • 분류 전체보기 (491)
      • 생산성 (2)
        • 인텔리제이 (2)
      • 프로젝트 기록 (14)
        • git (2)
        • spring (3)
        • TestCode (2)
        • spring security (3)
        • 기타 (2)
        • MySQL (0)
        • Cloud (2)
      • 회고 (4)
      • Spring (6)
      • JPA (0)
      • DB (4)
        • MySql (2)
        • Redis (1)
      • Java (7)
        • JSP (1)
      • 잡담 (1)
      • CS (30)
        • 컴퓨팅 사고 (0)
        • 배열 (4)
        • 알고리즘 (8)
        • 메모리 (7)
        • 자료구조 (9)
        • 암호학 (2)
      • opencv (14)
      • AI (56)
        • 머신러닝 (2)
        • 딥러닝 (7)
        • tensorflow (3)
        • 머신러닝(딥러닝) 정리 (21)
        • 강화학습 (7)
        • 논문 읽기 (1)
        • 잡동사니 (1)
        • python AI (13)
        • 선형대수 (1)
        • 확률론 (0)
      • 알고리즘 공부 (177)
        • 그래프 이론 (0)
        • 다익스트라 (4)
        • 위상정렬 (3)
        • 신장트리-크루스칼 알고리즘 (4)
        • 플로이드 워셜 (3)
        • 이진탐색 (9)
        • 백트래킹 (11)
        • 부르드포스 (9)
        • 다이나믹 프로그래밍 (20)
        • BFS & DFS (24)
        • 그리디 (6)
        • 구현 (15)
        • 정렬 (3)
        • 기타 (62)
        • 수학? (1)
      • 코딩 (173)
        • 파이썬(python) (15)
        • c언어 (13)
        • 프로그래머스 lv1 (46)
        • 프로그래머스 lv2 (41)
        • 백준 - c++ (49)
        • Softeer (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    그리디
    다이나믹 프로그래밍
    if문
    코딩테스트
    BFS
    c언어
    큐
    스택
    순차 탐색
    이미지처리
    DFS
    에라토슽네스의 체
    코딩기초
    선택정렬
    C언어 기초
    삽입 정렬
    왜곡보정
    코딩
    정렬
    코딩문제
    소수찾기
    코딩기초스킬
    자료구조
    n진법 변환
    인접행렬
    백준
    알고리즘
    인접리스트
    캘리브레이션
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩 코딩 코오딩
[백준] 12865번 평범한 배낭- 파이썬
상단으로

티스토리툴바