카펫

문학적인유사성·2022년 2월 20일
0

language

목록 보기
2/24

20220220
완탐이라고 적혀있지만, 완탐이 아닌 그냥 수학 느낌.

중앙 노랑 + 테트리는 갈색

접근 방법
1. 모든 가능한 가로세로 구하기 ( 가로가 더 크거나 같음 )
2. 검증

import java.util.*;

class Solution {
    
    private static ArrayList<int[]> answer_list = new ArrayList<int[]>();
    
    public int[] solution(int brown, int yellow) {
        
        int area = brown + yellow;
        
        //가능한 모든 방법 
        for(int i=3;i<=area;i++){
            if(area%i ==0){
                answer_list.add(new int[]{area/i, i});
            }
        }
        
        int answer=0;
        //검증
        // 가로 세로
        for(int i=0;i< answer_list.size();i++){
            int[] temp = answer_list.get(i);
            
            //System.out.println(temp[0] + " " +temp[1]);
            
            if(temp[0]<temp[1]){
                continue;
            }
            
            int temp_brown = temp[0]*2 + temp[1] * 2 -4;
            int temp_yellow = (temp[0]-2)*(temp[1]-2);
            
            //System.out.println(temp[0]+" " +temp[1]+" " +temp_brown+" " +temp_yellow);
            
            if(temp_brown==brown && temp_yellow==yellow)
                answer=i;
        }
        
        return answer_list.get(answer);
    }
}
profile
Are you nervous? Don't be

0개의 댓글