Algorithm

프로그래머스_카펫

Young_J 2020. 12. 31. 16:51

//알고리즘

1. 완전탐색

 

2. brown과 yellow의 합을 만들 수 있는 곱셈의 조합을 다 계산해봐야 함.

 -> yellow가 1이상 있어야 하니까 i = 3이상이 되어야 함.

 

3. for문을 3부터 돌려서 모든경우를 체크 

더보기
import java.util.*;

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = new int[2];
        
        int sum = brown + yellow;
        
        int y = 0, x = 0;
        for(int i = 3; i <= sum/3 ; i++){
            if(sum%i != 0) continue;
            x = i;
            y = sum/i;
            
            int bCnt = x*2 + (y-2) *2;
            int yCnt = sum - bCnt;
            
            if(brown == bCnt && yellow == yCnt ){
                answer[1] = x;
                answer[0] = y;
                break;
            }
          
        }
        
        return answer;
    }
}

 

※ 코딩테스트를 대비할 겸 프로그래머스에서 IDE를 안쓰고 코딩중. 아직은 몇 문제 안풀어봐서 자동완성이 안되는 환경에 익숙하지가 않음... 적응할 때 까지 쉬운문제부터 차근차근 풀어서 포스팅할 예정.