기본 콘텐츠로 건너뛰기

코딩 테스트 - 완전탐색 카펫

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = new int[2]; //답이 [3,3] 이런 식으로 생김
        //완전탐색 문제
        //노랑이 1일때도
        //최소 3x3은 나옴 (이유 : 둘러싸야 하니까)
        //갈색 + 노랭이 = 리턴1*리턴2 
        int temp = brown + yellow;  
        for(int i = 3; i <= temp; i++){
            int col = i; //세로
            int row = temp / col; //가로
            
            if(row >= col && row >= 3) {
                //가로가 세로와 같거나 김
                //3보다는 커야 크기가 나옴
                
                //힌트 : 가로-2 * 세로 -2 = 노랭이
                if((row-2)*(col-2) == yellow){
                    answer[0] = row; //가로
                    answer[1] = col; //세로
                    break;
                }
                
            }
        }
        
        
        
        return answer;
    }
}

원래 갈색 + 빨강 이었나 보다.

다른 사람 풀이를 보면 빨갛고 갈색임






댓글