مسیرها
/
Ballerina
Ballerina
/
تمرین‌ها
/
هجوم نمایشگر
هجوم نمایشگر

هجوم نمایشگر

متوسط

دستورالعمل‌ها

شما کارمند یک شرکت نرم‌افزاری به اسم ABC Corp هستید که ۹۷ کارمند دارد. اما فضای اداری تازه‌اجاره‌شده فقط ۶۵ اتاقک دارد. هر کارمندی دوست دارد در دفتر جدید کار کند، چون هر اتاقک پیشرفته‌ترین مانیتورها را دارد. بخش منابع انسانی از این حجم درخواست کلافه شده است و با کمک تیم عملیات دیجیتال خود، یک سامانه‌ی تخصیص اتاقک طراحی کرده است.

به هر اتاقک شماره‌ای از ۱ تا ۶۵ اختصاص داده‌اند. کارمندانی که می‌خواهند در دفتر جدید کار کنند باید هر روز کاری تا ساعت ۷:۳۰ صبح درخواست تخصیص اتاقک بفرستند. هر کارمند فقط می‌تواند یک درخواست تخصیص بفرستد و هر درخواست هم فقط می‌تواند یک شماره‌ی اتاقک داشته باشد.

صورت مسئله

بخش منابع انسانی برای هر درخواست تخصیص اتاقک این کارها را انجام می‌دهد:

  • اگر اتاقک درخواستی آزاد باشد، آن را به درخواست‌کننده اختصاص می‌دهد.
  • اگر اتاقک درخواستی قبلاً اختصاص یافته باشد، درخواست را رد می‌کند.

شما به‌عنوان عضو تیم عملیات دیجیتال، مسئول خودکارسازی این فرایند تخصیص هستید. ورودی یک int[] به اسم request است که همه‌ی درخواست‌های کارمندان تا ساعت ۷:۳۰ صبح را در خود دارد. هر عنصر آرایه نماینده‌ی یک شماره‌ی اتاقک است. وظیفه‌ی شما این است که یک int[] برگردانید که شماره‌های اتاقک‌های تخصیص‌یافته را در خود دارد. سپس شماره‌ها را به ترتیب صعودی مرتب کنید.

محدودیت‌ها

  • ۰ ≤ اندازه‌ی آرایه‌ی ورودی ≤ ۹۷
  • هر عنصر آرایه‌ی ورودی عددی بین ۱ تا ۶۵ است (شامل ۱ و ۶۵)

مثال ۱

  • ورودی: 65 1 56
  • خروجی: 1 56 65

مثال ۲

  • ورودی: 5 6 18 56 18 8 1
  • خروجی: 1 5 6 8 18 56
  • توضیح: دو درخواست برای اتاقک شماره‌ی ۱۸ وجود دارد
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Ballerina Exercism

آماده‌اید هجوم نمایشگر را شروع کنید؟

در Exercism ثبت‌نام کنید تا Ballerina را همراه با 60 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.