본문 바로가기

프로그래머스 - JAVA

코딩테스트 연습 > 완전탐색 > 카펫

기존 코드

import java.util.*;

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = {};
        for (int i = (int) Math.sqrt(yellow) ; i > 0 ; i --){
            if(i * 2 + yellow / i * 2 + 4 == brown){
                return new int[]{Math.max(yellow / i , i) + 2, Math.min(yellow / i , i) + 2};
            }
        }
        return answer;
    }
}

최근 코드

import java.util.*;

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = {};
        for (int i = (int) Math.sqrt(yellow) ; i > 0 ; i--){
            if (yellow % i == 0 && 4 + i * 2 + yellow * 2 / i == brown){
                return new int[] { Math.max(i, yellow / i) + 2, Math.min(i, yellow / i) + 2 };
            }
        }
        return answer;
    }
}