IT/Algorithm

프로그래머스) 카펫

프티 2021. 11. 26. 13:41
반응형

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

 

코딩테스트 연습 - 카펫

Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과

programmers.co.kr

나의 풀이)

전체 면적 = brown + yellow

yellow = (전체 너비 - 2) * (전체 높이 - 2)

 

위 방정식을 세운 후 전체 면적에 대한 너비와 높이를 구한다(완전 탐색).

두 번째 방정식에 맞는 너비와 높이를 구한다.

 

function solution(brown, yellow) {
    const area = brown + yellow;
    const list = [];
    let height = null;
    let check = null;
    
    for (let width = 1; width <= area; width++) {
        if (!(area % width)) {
            height = area / width
            check = (width - 2) * (height - 2);
            
            if (check === yellow && width >= height) {
                list.push([width, height]);
            }
        }
    }
    
    return list [0];
}

 

반응형

'IT > Algorithm' 카테고리의 다른 글

leetCode) 21. Merge Two Sorted Lists  (0) 2021.11.27
leetCode) 35. Search Insert Position  (0) 2021.11.26
프로그래머스) 프린터  (0) 2021.11.24
프로그래머스) 구명보트  (0) 2021.11.23
프로그래머스) 큰 수 만들기  (0) 2021.11.21