프로그래머스(14)
-
[Swift - 프로그래머스] 가장 큰 정사각형 찾기
🕵🏻 문제 해석 1과 0으로 채워진 표가 주어지면 그 표에서 1로 이루어진 가장 큰 정사각형의 넓이를 반환하는 문제입니다. 단, 정사각형은 축과 평행해야 합니다. 예시로 주어진 4 X 4의 표에서는 가장 큰 정사각형의 넓이가 9가 되겠습니다. 제한사항 표(board)는 2차원 배열로 주어집니다. 표(board)의 행(row)의 크기 : 1,000 이하의 자연수 표(board)의 열(column)의 크기 : 1,000 이하의 자연수 표(board)의 값은 1 또는 0으로만 이루어져 있습니다. 먼저 가장 작은 크기의 정사각형으로 부터 크기를 확장하며 문제에 접근해보겠습니다. 가장 작은 크기의 정사각형은 1 X 1 크기의 1로 이루어진 정사각형이겠죠? 그다음 크기의 정사각형은 2 X 2의 1로 이루어진 정사각..
2021.05.22 -
[Swift - 프로그래머스] N개의 최소공배수 구하기
문제 해석 N개의 숫자를 담은 배열이 주어졌을 때 이 수들의 최소 공배수를 구하는 함수를 작성하는 문제였습니다. 배열의 수들은 100 이하인 자연수이고 배열의 길이는 1부터 15 이하라고 합니다. 여러 수의 최대 공배수를 구하기 위해 먼저 두 수의 최대 공배수를 구하는 방법에 대해 알아봅시다. 두 수 a, b의 최소공배수는 두 수의 곱을 두 수의 최대 공약수로 나누어 주어서 구할 수 있다는군요. 두 수의 최대 공약수는 유클리드 호제법을 이용하여 쉽게 구할 수 있습니다. 이를 이용하여 배열의 첫 번째 원소와 두 번째 원소의 최소 공배수를 구하고 구한 최소 공배수와 그다음 원소와의 최소공배수를 비교하여 전체 N개의 수의 최소 공배수를 구하는 방식으로 문제를 해결할 수 있습니다. 더 생각해보기 주어진 배열에서..
2021.05.20