본문 바로가기

동적 계획법

(2)
[Algorithm/Swift] 프로그래머스(Lv.2) - 가장 큰 정사각형 찾기 안녕하세요 제인입니다! PS..를 들고 왔습니다....혼자 해결못한 문제가 또 생긴 것이죠..예.. PS 실력이 왜 이렇게 안늘까요....좀 더 많은 문제를 풀어봐야겠어요.. 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 일단 이 문제는 DP(Dynamic Programming) 알고리즘을 이용해 풀어야하는 문제였습니다. 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net 프로그래머스의 연습문제라 백준에도 동일한..
[Algorithm/Swift] 동적 계획법(Dynamic Programming) 안녕하세요 제인입니다! 오늘은 알고리즘 개념 중 동적 계획법(Dynamic Programming)에 대해 정리해보려고 합니다. 동적 계획법이 무엇인지 정리해보고, 동적 계획법의 대표적인 예제인 문제를 통해 적용까지 해보도록 할게요! 동적 계획법(Dynamic Programming, DP) 다이나믹 프로그래밍(줄여서 DP)라고도 불리는 동적 계획법은 큰 문제를 작게 나누고, 같은 문제라면 한 번씩만 풀어 문제를 효율적으로 해결하는 알고리즘 기법입니다. 동적 계획법에서는 메모이제이션(Memoization) 기법이 핵심이라고 할 수 있는데요! 메모이제이션 기법이란, 한 번 구한 결과를 메모리 공간에 저장해두고 같은 식을 다시 호출해 저장한 결과를 그대로 가져오는 기법을 의미합니다. 메모이제이션은 값을 저장하는..