https://programmers.co.kr/learn/courses/30/lessons/42842
규칙을 찾아서 문제를 풀었고 제가 세운 점화식은 아래와 같습니다.
brown = (a+b) * 2 - 4 입니다.
brown의 값은 문제에서 주어지고 a와 b의 값을 찾으면 되는 문제입니다.
a와 b의 값은 red+brown의 약수에서 찾을 수 있습니다.
package com.company;
public class carpet {
static class Solution {
public int[] solution(int brown, int red) {
int[] answer = new int[2];
int num = brown + red;
int b = 0;
for(int i=1; i<=num; i++){
if(num % i == 0 ){
b = (brown+4)/2 - i;
if(brown + red == i*b){
answer[0] = i;
answer[1] = b;
}
}
}
return answer;
}
}
}
'알고리즘' 카테고리의 다른 글
프로그래머스 - 체육복(그리디) (2) | 2020.04.06 |
---|---|
프로그래머스 - 숫자야구 (0) | 2020.04.04 |
프로그래머스 - 소수찾기 (0) | 2020.04.04 |
프로그래머스 - 모의고사 (0) | 2020.04.04 |
프로그래머스 - 오픈채팅방 (1) | 2020.03.28 |