다이나믹프로그래밍 2

[백준/파이썬] 2579 계단 오르기 - 다이나믹 프로그래밍

➰ 2579번 계단 오르기 💡 구현 아이디어 이 문제는 다이나믹 프로그래밍으로 풀이했는데, 먼저 다이나믹 프로그래밍에 대해 알아보겠다. 1. 다이나믹 프로그래밍이란 다이나믹 프로그래밍은 메모리를 잘 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법이다. 이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산하지 않도록 한다. 2. 다이나믹 프로그래밍 구현 방법 다이나믹 프로그래밍 구현 방법은 크게 두 가지가 있다. 1) Top-Down, 하향식 방식 큰 문제를 해결하기 위해 작은 문제를 호출하는 방법으로 재귀 함수를 이용하여 코드를 작성한다. 한 번 계산한 결과를 메모리 공간에 메모하는 기법이다. 메모이제이션(Memoization) 방식이라고도 하며 재귀함수를 이용한다. 정확히 말..

Algorithm 2023.01.25

[백준/파이썬] 2839 설탕 배달 - 다이나믹 프로그래밍

➰ 2839번 설탕 배달 ▪ 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. ▪ 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) ▪ 출력 상근이가 배달하는 봉지..

Algorithm 2022.08.30
반응형