프로그래머스 Level2 - 카펫

JH·2022년 12월 13일
0
post-thumbnail

문제

입력

예제

idea

겉에 테두리만 갈색 이고 안에는 노란색으로 채워져있는데 가로 길이가 더 기므로 y=1 x=yellow/y로 선언을 한 후에
y를 1씩 증가시키며 계산을 한다. x가 y로 나누었을때 나누어 떨어질 경우에만 진행을 하며 사각형의 길이를 구하는 것이기 때문에 (x+2)2 + (y+2)2 - 4 가 brown과 같을 경우 해당된다. 꼭짓점 네개가 겹치기 때문에 4를 빼주는 것이며 조건에 성립할 때 answer[0] = x2, answer[1]=y2; 이다.

Code

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = new int[2];
        
        int y=0;
        y=1;
        double x=(double)yellow/y;
        
        while(x>=y){
           
            System.out.println(x+" "+y);
            if(x%1!=0) continue;
            
            if(brown == (x+2)*2+(y+2)*2-4){
                answer[0]=(int)(x+2);
                answer[1]=(y+2);
                System.out.println(answer[0]+" "+answer[1]);
            }
            y++;
            x=yellow/y;
            
        } 
        return answer;
    }
}

결과

0개의 댓글