[アルゴリズムの問題]カーペット


質問する


問題の説明
Leoはじゅうたんを買いに行きました.格子じゅうたんの列が見えました.真ん中は黄色で、一列は茶色で、下図のように見えます.

Leoは家に帰ってから、さっき見たじゅうたんの黄色と茶色の格子数を覚えたが、じゅうたん全体の大きさは覚えていない.
Leoがこのカーペットに茶色の格子の数茶色、黄色の格子の数黄色をパラメータとして与えた場合、カーペットの横方向と縦方向の寸法を順番に並べて返します.
せいげんじょうけん
茶色の格子の水brownは8以上5000以下の自然水です.
黄色のメッシュの数黄色は、1つ以上の200000以下の自然数です.
カーペットの横方向の長さは、縦方向の長さ以上です.

コード#コード#

function solution(brown, yellow) {
  for (let x = 3; x < brown; x++) {
    let y = (brown / 2) - x + 2;
    if (yellow === (x - 2) * (y - 2)) return [x, y].sort((a, b) => b - a);
  }
}

に答える

brown = 2 * (x + y) - 4
yellow = (x - 2) * (y - 2)
出典:プログラマーコードテスト練習、https://programmers.co.kr/learn/challenges