[プログラマー]レベル2:機能開発(日付6)
問題の説明
プログラマチームは機能強化を実行しています.各機能は、進捗が100%の場合にサービスに反映されます.
また、各機能の開発速度が異なるため、後の機能は前の機能の開発より先に、後の機能は前の機能の導入時に一緒に導入される可能性があります.
まず、ソリューション関数を完了し、特定の整数配列の進捗状況(必要に応じて配置される順序)と整数配列速度(タスクごとの開発速度)のときに、各配置にどれだけの機能があるかを返します.
せいげんじょうけん
問題を解く
function solution(progresses, speeds) {
var answer = [];
let workingDays = [];
let deployFnCount = [];
for (let i = 0; i < progresses.length; i++) {
while (progresses[i] < 100) {
progresses[i] += speeds[i];
if (!workingDays[i]) workingDays[i] = 0;
workingDays[i] += 1;
}
}
for (let i = 0; i < workingDays.length; i++) {
if (!deployFnCount[i]) deployFnCount[i] = 1;
if (!workingDays[i]) {
deployFnCount[i] = 0;
continue;
}
for (let j = i + 1; j < workingDays.length; j++) {
if (workingDays[i] >= workingDays[j]) {
deployFnCount[i] += 1;
workingDays[j] = null;
} else {
break;
}
}
}
answer = deployFnCount.filter((count) => count);
return answer;
}
無知に解けた.後で他の人の草を見て包装し直します.最初は1.2.4.5万件のテストケースに失敗していたので、WorkingDayは同じことを考えていませんでした...
Reference
この問題について([プログラマー]レベル2:機能開発(日付6)), 我々は、より多くの情報をここで見つけました https://velog.io/@kimjh96/프로그래머스-Level-2-기능개발-6일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol