[プログラマー]カーペット(レベル2)-完全ナビゲーション-JavaScript
3090 ワード
![](https://s1.md5.ltd/image/95a64af8494af775f61ecbac7be39c04.png)
1.問題の解釈
-brownには1行の枠線があります.
-横の長さが縦の長さに等しいか、縦の長さより長い.すなわち、縦の長さが横の長さを超えてはならない.
2.解答
-横*縦=brown+yellow
-横方向、縦方向の長さが少なくとも3(中心の無条件黄色の条件を満たす)
-反復文を用いて[横,縦]のすべての場合の数字を求める.
-でも、立ったままでは通れない.Math.ceil((brown+yellow)/3)さえ見つかれば十分です.
-(横+縦-2)*2枠線メッシュの個数を求めることができます.すなわち、brownの個数と同じであれば、満たされるメッシュの割合である.
function solution(brown, yellow) {
const sum = brown + yellow;
for (let h = 3; h <= Math.ceil(sum / 3); h += 1) {
if (sum % h !== 0 || h < sum / h) continue;
const v = sum / h;
if ((h + v - 2) * 2 === brown) return [h, v];
};
}
Reference
この問題について([プログラマー]カーペット(レベル2)-完全ナビゲーション-JavaScript), 我々は、より多くの情報をここで見つけました https://velog.io/@tkdfo93/프로그래머스-카펫Level2-완전탐색-JavaScriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol