[프로그래머스] 코딩테스트 연습 - 완전탐색 Level 2 카펫

Solution.java

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = {};
        
        answer = new int[2];
        
        int x, y;   // x = 노란색 가로, y = 노란색 세로
        
        // (brown - 4) / 2 = x + y
        // y = (brown - 4) / 2 - x
        
        // yellow = x * y;
        // yellow = ((brown - 4) / 2 - x) * x
        
        for (x = (brown - 4) / 2 - 1, y = 1; x >= y; x--, y++) {
            if (x * y == yellow) break;
        }
        
        answer[0] = x + 2;
        answer[1] = y + 2;
        
        return answer;
    }
}

문제를 풀고 난 후 다른 사람의 풀이를 보니 수학 공식을 이용해 푼 사람들도 있었다.

나도 다음에 수학 공식을 이용해서 풀어봐야겠다.

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

좋은 웹페이지 즐겨찾기