곽로그

[프로그래머스 level2] 카펫 본문

알고리즘/프로그래머스

[프로그래머스 level2] 카펫

일도이동 2020. 8. 19. 23:43
반응형

programmers.co.kr/learn/courses/30/lessons/42842

 

코딩테스트 연습 - 카펫

Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 ��

programmers.co.kr

 

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = {};
        
        
        answer = new int[2];


        for(int num=1;num<=Math.sqrt(yellow);num++){
            if(yellow%num==0){
                int num1 =num;
                int num2 = yellow/num1;

                int tempbrown = 4+2*(num1+num2);
                if(tempbrown==brown){
                    int row = num2+2;
                    int column = num1+2;
                    answer[0]=row;
                    answer[1]=column;
                }
            }
        }
        
        
        
        
        return answer;
    }
}

 

*Review

1) 문제조건에 가로가 세로보다 크거나 같다라고 했다

2) 따라서 1부터 제곱근(yellow)까지 num1*num2가 yellow가 되는 수를 구하고, 이 수가 brown의 조건을 만족하면 가로세로길이를 구한다

 

3) 여기서  "1부터 제곱근(yellow)까지 num1*num2가 yellow가 되는 수" 의 정의가 있는 것 같은데 잘 기억이 안난다. 

반응형
Comments