https://school.programmers.co.kr/learn/courses/30/lessons/42842
풀이
노란색 격자의 가로/세로 길이가 될 수 있는 모든 경우를 구한 다음, (노란색 가로 + 2) * (노란색 세로 + 2) - 노란색 개수 = 갈색 개수 가 되는 경우를 찾아서 답을 구한다.
코드
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) {
int width = i + 2;
int height = yellow / i + 2;
if (width * height - yellow == brown) {
answer[0] = Math.max(width, height);
answer[1] = Math.min(width, height);
break;
}
}
}
return answer;
}
}
728x90
'Algorithm 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 : 전력망을 둘로 나누기 - 자바[Java] (0) | 2023.04.13 |
---|---|
[프로그래머스] Lv.2 : 피로도 - 자바[Java] (0) | 2023.04.12 |
[프로그래머스] Lv.2 : 전화번호 목록 - 자바[Java] (0) | 2023.04.12 |
[프로그래머스] Lv.2 : 위장 - 자바[Java] (0) | 2023.04.12 |
[프로그래머스] Lv.1 : 완주하지 못한 선수 - 자바[Java] (0) | 2023.04.11 |