본문 바로가기

DynamicProgramming2

[프로그래머스] 가장 큰 정사각형 찾기 | JavaScript 가장 큰 정사각형 찾기 문제 설명 1과 0으로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 예를 들어 가 있다면 가장 큰 정사각형은 가 되며 넓이는 9가 되므로 9를 반환해 주면 됩니다. 제한사항 표(board)는 2차원 배열로 주어집니다. 표(board)의 행(row)의 크기 : 1,000이하의 자연수 표(board)의 열(column)의 크기 : 1,000이하의 자연수 표(board)의 값은 1또는 0으로만 이루어져 있습니다. 입출력 예 board answer [[0,1,1,1], [1,1,1.. 2021. 6. 23.
[Algorithm]다이나믹 프로그래밍(Dynamic Programming) 다이나믹 프로그래밍이란? 먼저 다이나믹 프로그래밍은 최단 경로를 구하는 다익스트라 알고리즘(Dijkstra algorithm)처럼 특정한 문제를 해결 할 수 있는 알고리즘이 아닌 문제를 해결하기 위한 접근 방식 중 하나이다. 즉 다이나믹 프로그래밍으로 풀 수 있는 문제들에 대해서 해당 문제를 푸는 것에 대해 생각의 틀을 제공해주는 프로그래밍 방법이다. 다이나믹 프로그래밍의 다양한 표현들 점화식 큰 문제를 작은 문제로 나누어 푸는 방법 과거에 구한 답을 활용하는 방법 메모이제이션 다이나믹 프로그래밍을 나타내는 다양한 표현들이 있지만 기본 개념은 다음과 같다. 재귀적으로 생각하기 + 불필요한 계산 줄이기(중복 제거하기) 재귀적으로 생각하기 ≒ 귀납적으로 생각하기 작은 문제는 해결이 되어 있다는 믿음을 가지고.. 2021. 6. 22.
반응형