[프로그래머스] 카펫 / JavaScript / Level 2

KimYoungWoong·2022년 8월 9일
0

Programmers

목록 보기
25/60
post-thumbnail

🚩문제 주소


📄풀이


카펫의 최소 세로 길이는 3 입니다.

두 격자의 합을 세로 길이로 나누면 가로 길이가 나오게 됩니다.

노란색을 갈색이 감싸고 있기 때문에, 전체 카펫의 길이에서 위와 아래, 양 옆에서 1씩 빼줘야 합니다.

가로 길이와 세로 길이 각각 2씩 빼주고 서로 곱한 것이 주어진 노란색 개수와 같다면, 가로 길이와 세로 길이를 구할 수 있습니다.

만약 같지 않다면, 세로 길이를 1씩 증가시킵니다.



👨‍💻코드


function solution(brown, yellow) {
  let height = 3;
  const sum = brown + yellow;

  while (true) {
    const width = sum / height;
    if ((width - 2) * (height - 2) === yellow) {
      return [width, height];
    }
    height++;
  }
}

profile
블로그 이전했습니다!! https://highero.tistory.com

0개의 댓글