문제
입출력 예
풀이.
1. 노란색 격자가 가운데 있으려면 가로, 세로가 최소 3이상이어야 한다. ( i = 3부터 시작)
2. 3부터 시작하며 brown + yellow(sum) 의 약수를 구한다.
3. 약수이면서 3이상 일때, 각 가로, 세로의 -2 씩 한 값이 yellow랑 같을 때 answer에 넣어준다.
코드
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
int sum = brown+yellow;
for(int i=3;i<sum;i++){
int j = sum / i;
if(sum % i == 0 && j>=3){
int col = Math.max(i,j);
int row = Math.min(i,j);
int center = (col-2) * (row-2);
if(center == yellow){
answer[0] = col;
answer[1] = row;
return answer;
}
}
}
return answer;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
(LEVEL 2)프로그래머스 - 2 x n 타일링 (JAVA) (0) | 2023.02.25 |
---|---|
(LEVEL 2)프로그래머스 - 다리를 지나는 트럭(JAVA) (0) | 2023.02.25 |
(LEVEL 1)프로그래머스 - 같은 숫자는 싫어(JAVA) (0) | 2023.01.30 |
(LEVEL 1)프로그래머스 - 로또의 최고 순위와 최저 순위(JAVA) (0) | 2023.01.18 |
(LEVEL 1)프로그래머스 - 숫자 짝꿍(JAVA) (0) | 2023.01.15 |