Programming

[알고리즘] 프로그래머스 카펫

jay-dev 2023. 10. 13. 12:19

프로그래머스 문제링크

 

프로그래머스

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

programmers.co.kr

 

Try / Solution

function solution(brown, yellow) {
    
    let area= brown + yellow;
    
    for (let y = 3; y <= area/3; y++) {
        let x = area/y
        
        if( (x-2) * (y-2) === yellow) {
            return [x, y]
        }
    }
}
  • 전체 넓이 = brown + yellow
  • brown + yellow = x * y
  • 반복문을 시작하는 세로의 최솟값은 3 -> 세로는 가로보다 같거나 작으니 가로까지 반복
  • 가로 = 넓이 / 세로
  • (x-2) * (y-2) === yellow 라면 그 x,y 값 출력