자바/코딩테스트

[프로그래머스] 카펫 - Java(자바)

대전집주인 2024. 3. 25. 13:52
728x90
SMALL

 

문제 이해

  • 카펫의 가로 세로 길이는 brown + yellow의 약수이다.
  • 가로 세로 구하는 이중 for문 생성, 가로 세로의 길이는 brown/2 이하이다.
  • yellow 값은 (i-2)*(j-2) 와 동일해야한다.
import java.util.*;
class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = new int[2];
        
        int len = brown + yellow;
        int ok = 0;
        
        for(int i = 1; i<Math.round(brown/2); i++){
            for(int j = 1; j<i+1; j++){
                if(len == i*j && yellow == (i-2)*(j-2)){
                    answer[0] = i;
                    answer[1] = j;
                    ok = 1;
                    break;
                }
            }
            if(ok == 1) break;
        }
        
        return answer;
    }
}
728x90
LIST