https://school.programmers.co.kr/learn/courses/30/lessons/42842
public int calculate(int brown, int yellow, int height) {
int width = yellow + 2;
if (brown == width*2 + height*2) {
return width;
}
return 0;
}
높이를 1 ~ yellow까지 높여가면서 계산한 크기와 brown의 크기가 일치했을 때 가로 길이를 return
그리고 가로와 세로의 겹치는 두 부분을 세로에 더해주어 정답으로 return
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
int width = 0;
int height = 0;
if (yellow == 1) {
width = calculate(brown, yellow, 1);
height = 3;
}
for (int i = 1; i < yellow; i++) {
width = calculate(brown, yellow/i + yellow%i, i);
if (width != 0) {
height = i + 2;
break;
}
}
answer[0] = width;
answer[1] = height;
return answer;
}
public int calculate(int brown, int yellow, int height) {
int width = yellow + 2;
if (brown == width*2 + height*2) {
return width;
}
return 0;
}
}
'Programmers' 카테고리의 다른 글
[프로그래머스][JAVA]Lv. 2 - 큰 수 만들기 (0) | 2023.06.18 |
---|---|
[프로그래머스][JAVA]Lv. 2 - 조이스틱 (0) | 2023.06.18 |
[프로그래머스][JAVA]Lv. 2 - 소수 찾기 (0) | 2023.06.12 |
[프로그래머스][JAVA]Lv. 2 - H-Index (0) | 2023.05.18 |
[프로그래머스][JAVA]Lv. 2 - 더 맵게 (0) | 2023.05.18 |