[프로그래머스][카펫]-Lv.2

호준·2022년 11월 7일
0

Algorithm

목록 보기
94/111
post-thumbnail

🎯 문제

문제링크

🎯 제한사항

🎯 접근방법

  1. 총 카펫의 수를 구한다.
  2. 1부터 카펫의 수까지 반복문을 돌면서 row(세로길이), col(가로길이) 에 대해서 구한다.
  3. (row-2) * (col-2) 값이 yellow인 값을 리턴한다.
    (갈색 카펫이 노란색 카펫을 둘러싸고 있어야 하므로 row와 col에서 2를 뺀값이 노란색 카펫의 수여야한다.)

🎯 코드

class Solution {
    public int[] solution(int brown, int yellow) {
        int[] answer = {};
        int sum = brown + yellow;
        for(int i=1; i<sum; i++){
            int row = i;
            int col = sum / row;
            
            if(row <= col){
                if((row-2) * (col-2) == yellow){
                    return new int[]{col,row};
                }
            }
        }
        return answer;
    }
}
profile
도전하지 않는 사람은 실패도 성공도 없다

0개의 댓글