계단을 오르듯이

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

알고리즘/백준_JAVA

[JAVA] 프로그래머스 - 카펫

happyAyun 2022. 1. 31. 18:30

yellow를 기준으로 일단 가로 세로의 길이를 구했다.

가로, 세로 모두 yellow를 기준으로 전체 가로, 세로길이는 2씩 커진다.

가로 세로를 구하기 위해서는 약수를 구하는 방식으로 1부터 루트N까지 연산을 통해 반복되지 않게 하였고,

가로의 길이가 항상 크므로 i가 세로가 되도록 하였다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = new int[2];
        for(int i=1;i<=Math.sqrt(yellow);i++){
            if(yellow % i == 0){
                if((yellow/i+2* (i+2- yellow == brown){
                    answer[0= yellow/i+2// 가로길이가 커야함.
                    answer[1= i+2;
                    break;
                }
            }
        }
        return answer;
    }
}
cs