코딩테스트

[프로그래머스/Javascript] 카펫

셈인 2023. 7. 27. 23:13

📄 문제

Lv 2. [완전탐색] 카펫

 

프로그래머스

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

programmers.co.kr


🔍 문제 접근

💡 갈색 카펫의 가로 길이 = 노란색 카펫의 가로 길이 + 2
💡 갈색 카펫의 세로 길이 = 노란색 카펫의 세로 길이 + 2

 


📝 문제 풀이

continue대신 return을 쓰는 바람에 엄청 해멨다.. 앞으로는 조심하자🥲

function solution(brown, yellow) {
    for (let i = 1; i <= yellow; i++) {
        const yellowWidth = yellow / i;
        const yellowHeight = i;
        const brownWidth = yellowWidth + 2;
        const brownHeight = yellowHeight + 2;
        
        if (!Number.isInteger(yellowWidth)) {
            continue;
        }
        
        if (brown + yellow === brownWidth * brownHeight) {
            return [Math.max(brownWidth, brownHeight), Math.min(brownWidth, brownHeight)];
        }
    }
}