개발야옹

[Programmers] 완전탐색 lv2 - 카펫 본문

Algorithm\CodingTest/Programmers

[Programmers] 완전탐색 lv2 - 카펫

kitez 2023. 2. 13. 14:59

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(brown, yellow) {
    var answer = [];
    const yList = [];
    
    // [b, y] 
    // y의 가로 >= 세로 구성되는 경우의 수들 찾음 [ y1, y2 ]
    // (y1 * 2) + ( y2 + 2 ) * 2 === b 를 찾는다.
    // [y1+2 , y2+2] 를 리턴
    
    let i = 1;
    let w = 1;
    
    while(true) {       
        if(w < i) break;
        if(yellow % i === 0) {
            w = yellow / i;
            if(w < i) break;
            yList.push([w, i]);
        } 
        i++;
    }
    
    yList.forEach((y) => {
       let h = (y[0]*2)+((y[1]+2)*2);
        if(h === brown) {
            answer.push(y[0]+2);
            answer.push(y[1]+2);
            return false;
        }
    });
    
    
    return answer;
}
728x90