2024/03/04 2

소프트웨어 공학

야크의 털깍기란? 야크라는 가축은 몸을 뒤덮고 있는 털이 매우 많습니다. 여름이 되기 전에 털을 깎아주어야하는데 몸통의 털을 깎기까지 상당히 많은 양의 털을 깍아야합니다. 개발자가 하나의 문제에 몰두하다보면 마치 위와 같은 상황에 마주할 때가 있습니다. 어떤 문제를 해결하려고 봤더니, 다른 문제가 계속 나와 좀처럼 몸통에 해당하는, 해결하고자 하는 문제의 해결에 도달하지 못하려고 하는 상황입니다. 이를 막기 위해서는 복잡한 코드를 읽거나 쓸때는 메모해 가며 작업하는 것이 좋습니다. 혹은 시간이나 비용을 고려하거나 목적을 고려했을 때 맞지 않다면 작업을 멈추고 다른 길을 찾아보는 것도 방법입니다. 조슈아 나무의 법칙이란? 어떤 사람이 식물도감에서 조슈아 나무를 처음으로 알게 되었습니다. 책을 읽으며 그 사..

카테고리 없음 2024.03.04

Dynamic Programming이란?

다이나믹 프로그래밍이랑 동적으로 프로그램을 수행 시키는 것으로 써 현재 수행한 프로그래밍의 결과를 저장하고 후에 수행될 프로그래밍의 결과를 저장 하는것 같습니다. 장점으로는 이전에 계산했던 결과를 가지고 수행하기에 더 빠른 처리가 가능 할것 같습니다. 단점으로는 결과를 저장하기 위한 메모리가 필요합니다. N = int(input()) D = [0, 1] for i in range(2, N + 1): D.append(D[i-2] + D[i-1]) print(D[N]) **동적 프로그래밍(Dynamic Programming)**은 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법입니다1. 이 방법은 주어진 문제를 여러 개의 하위 문제(subproblem)로 나누어 푼 다음, 그것을 결합하여 최종적인 ..