[프로그래머스] (완전탐색) 카펫
갈색격자의 수가 brown, 노란격자의 수가 yellow 일때 카펫의 면적은 brown + yellow 이고 면적의 약수가 카펫의 가로,세로 길이가 된다. brown :10, yellow : 2 => 면적 : 12, 카펫가로 세로 후보군은 [1,12], [2,6], [3,4], [4,3], [6,2], [12, 1] 카펫에 노란격자는 무조건 1이상이고, 가로가 세로보다 길거나 같다는 조건이 있으므로 가능한 후보군은 [4,3] 하나뿐이다. (최소 가로/세로 길이는 3) 전체 면적까지 루프를 역순으로 돌리고, (가로-2) * (세로-2) = 노란격자의 수가 나오는 경우의 수를 찾는 문제 class Solution { public int[] solution(int brown, int yellow) { int[..
2021. 3. 27.