본문 바로가기
알고리즘 문제 풀이

[프로그래머스] 카펫

by pinok1o 2021. 4. 11.

https://programmers.co.kr/learn/courses/30/lessons/42842?language=java

문제 해석

테두리를 1줄 둘러싸는 갈색 격자의 수와
내부를 채우는 노란색 격자의 수가 주어질때
카펫의 가로 세로 크기를 구하는 문제

문제 풀이

갈색 격자는 테두리를 한줄만 채운다 따라서
4모서리를 제외하고 절반만큼의 갯수로
만들 수 있는 카펫의 조합에서
노란 격자의 수와 일치하는 조합을 찾으면 된다

 

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = {0, 0};
        int rowCol;

        rowCol = (brown - 4) / 2;

        for(int i = 1; i < rowCol / 2 + 1; i++){
            if(i * (rowCol - i) == yellow){
                answer[0] = rowCol - i + 2;
                answer[1] = i + 2;
            }
        }


        return answer;
    }
}

댓글