[プログラマー]カーペット
プログラマー|カーペット
Leoはじゅうたんを買いに行きました.格子じゅうたんの列が見えました.真ん中は黄色で、一列は茶色で、下図のように見えます.
Leoは家に帰ってから、さっき見たじゅうたんの黄色と茶色の格子数を覚えたが、じゅうたん全体の大きさは覚えていない.
Leoがこのカーペットに茶色の格子の数茶色、黄色の格子の数黄色をパラメータとして与えた場合、カーペットの横方向と縦方向の寸法を順番に並べて返します.
黄色いタイルの縦横の組み合わせを繰り返し文で求めます.黄色タイルの組み合わせでは、(横方向+2)X 2+縦方向X 2が茶色タイルの数と一致することを確保する.一致する場合は、水平+2と垂直+2を戻り配列にプッシュします.
質問する
Leoはじゅうたんを買いに行きました.格子じゅうたんの列が見えました.真ん中は黄色で、一列は茶色で、下図のように見えます.
Leoは家に帰ってから、さっき見たじゅうたんの黄色と茶色の格子数を覚えたが、じゅうたん全体の大きさは覚えていない.
Leoがこのカーペットに茶色の格子の数茶色、黄色の格子の数黄色をパラメータとして与えた場合、カーペットの横方向と縦方向の寸法を順番に並べて返します.
に近づく
黄色いタイルの縦横の組み合わせを繰り返し文で求めます.黄色タイルの組み合わせでは、(横方向+2)X 2+縦方向X 2が茶色タイルの数と一致することを確保する.一致する場合は、水平+2と垂直+2を戻り配列にプッシュします.
に答える
function solution(brown, yellow) {
// 노란색 타일의 가로 세로 조합을 구한다.
// 노란색 타일 조합 중,
// (가로 + 2)*2 + 세로*2가 갈색타일의 수와 일치하는지 확인
var answer = [];
for(let i = yellow; i > 0; i--){
if(!(yellow % i)){
let width = i;
let height = yellow / i;
if((width + 2) * 2 + height * 2 === brown){
answer.push(width + 2);
answer.push(height + 2);
break;
}
}
}
return answer;
}
Reference
この問題について([プログラマー]カーペット), 我々は、より多くの情報をここで見つけました https://velog.io/@gyu716625/프로그래머스-카펫テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol