PROGRAMMERS/완전탐색
[프로그래머스] [JAVA] [Level 2] [완전탐색] 카펫
c0mmedes
2022. 9. 17. 14:30
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
// 구할 넓이 구하기
int sum = brown + yellow;
// 가로를 기준으로 3부터 (제일 작은 사이즈(8, 1) 일때 가로는 3이므로)
for(int i=3; i<sum; i++){
// 세로 길이 구하기
int j = sum/i;
// 나누어 떨어져야 약수이고, 가로 길이 >= 세로 길이
if(sum%i==0 && i>=j){
int garo = i;
int sero = j;
// (가로길이-2) * (세로길이 -2) = yellow 크기
int center = (garo-2) * (sero-2);
if(center == yellow){
answer[0] = garo;
answer[1] = sero;
return answer;
}
}
}
return answer;
}
}