[프로그래머스] 카펫 (java)

🔗 문제링크

https://programmers.co.kr/learn/courses/30/lessons/42842

👩🏻‍💻 코드

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = new int[2];

        for (int i = 1; i <= yellow; i++) {
            if (yellow % i != 0) continue; // 사각형이 되지 않는 경우

            int row = i;
            int col = yellow / row;
            if (row > col) break;	// 가로 길이보다 세로 길이가 긴 경우

            if ((col + 2) * 2 + (row * 2) == brown) {
                answer[0] = col + 2;
                answer[1] = row + 2;
            }
        }
        return answer;
    }
}

📝 정리

row,col은 각각 yellow의 행,열의 수이다. 직접 규칙을 찾아서 코드로 구현했다.

좋은 웹페이지 즐겨찾기