본문 바로가기
알고리즘 문제풀이/프로그래머스

[프로그래머스] 카펫 - 자바(Java)

by jeonghaemin 2022. 1. 3.
728x90

문제

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

풀이 코드

public class Main {
    public int[] solution(int brown, int yellow) {
        //column, row : 노란 격자 컬럼, 행 길이
        for(int column = 1; column <= yellow; column++) {
            int row = yellow/column;

            /*
            노란 격자 행 길이*2 + 노란 격자 열 길이*2 + 4 = 갈색 격자 개수
            -> yellow/column*2 + column*2 + 4 = (yellow/column + column)*2 + 4 = brown
            */
            if(yellow%column == 0 && ((row+column)*2 + 4) == brown) {
                return new int[] {row+2, column+2};
            }
        }

        return null;
    }
}

댓글