برنامه نویسی
Codewars – اگر یک عنصر بیش از n بار رخ دهد، موارد را حذف کنید

سلام.
من چالش های Codewars و روند فکرم را در این مجموعه پست می کنم. من در صورت امکان از JS و Node 18 استفاده می کنم. فقط برای شفافیت، من از آنها استفاده منصفانه می کنم.
“حذف وقوع یک عنصر اگر بیش از n بار رخ دهد”. در اصل، قطعات را در وسط آرایه، بدون تغییر ترتیب، برش دهید.
function deleteNth(arr,n){
let counter = {"top": n , "undef": 0};
for (let i = 0 ; i < arr.length ; i++ ){
(counter[arr[i]]) ? null : counter[arr[i]] = 0;
if (counter[arr[i]] < n){
counter[arr[i]]++;
}
else {
arr[i] = undefined;
counter.undef++;
}
}
arr.sort((a,b) => 0);
for (let i = 0 ; i < counter.undef ; i++){
arr.pop();
}
return arr;
}
کار می کند. نیاز به بازسازی دارد زیرا به وضوح از هیچ شیوه خوبی پیروی نمی کند، اما من به چالش بعدی می روم.
مراقب باشید. آب بنوشید 💧💧💧 .
قبلی