728x90

2024/07/16 2

[알고리즘] 다이나믹 프로그래밍 : 작은 것부터 시작하자!

1. 동적 프로그래밍(DP) 소개동적 프로그래밍은 복잡한 문제를 작은 부분 문제로 나누어 해결하는 방법입니다. 주로 최적화 문제에 사용되며, 메모이제이션 또는 테이블 방식으로 중복 계산을 줄입니다. 워낙 유명한 해결법이라 저 보다 잘 설명된 글이 굉장히 많습니다. 여기서는 재미로 대략적인 내용을 파악하는 걸로 보고 가시면 좋을 듯 합니다.2. 가장 긴 증가하는 부분 수열(LIS) 문제 해결2.1 LIS의 정의 및 문제 설명LIS는 주어진 수열에서 순서를 유지하면서 가장 긴 증가하는 부분 수열을 찾는 문제입니다.2.2 동적 프로그래밍을 이용한 LIS 알고리즘동적 프로그래밍을 사용한 LIS 알고리즘은 O(n^2)의 시간 복잡도를 가집니다. 각 요소에 대해 그 이전 요소들과 비교하여 dp 테이블을 갱신합니다...

Learn 2024.07.16

[정보] 빠르게 배우는 VSCode 디버깅

1. VS Code 디버깅 소개지금까지 디버깅을 크게 사용하지 않고 단순 무식하게 코드를 짰었는데, 이번에 논문의 코드를 보다보니 도저히 알 수 없는 경우가 많아서 이제서야... 디버깅을 써보기로 했습니다. 이 글에서는 간략하게 VScode의 디버깅을 설명하고 실제로 해보는 걸 목표로 합니다.2. 기본 설정 및 준비당연히 VS Code가 설치 되어있고 Python 환경 설정이 이미 해결된 상태라고 가정하고 설명하겠습니다.3. 기본 디버깅 사용법코드 작성 및 브레이크포인트 설정간단한 Python 코드를 작성합니다:def add(a, b): result = a + b return resultif __name__ == "__main__": x = 5 y = 10 sum = add(x..

Learn 2024.07.16
728x90