سلام. میدونم که نزدیک به سه سال از این مسابقه میگذره اما چون به نظرم مهمه تصمیم گرفتم که بهتون بگم: کدی که برای سؤال «کیبورد خراب» نوشته شده و توی ویدیو نشون داده میشه ایراد داره؛ ایرادش اینه که طبق صورت سؤال، ورودی میتونه شامل حروف «?» و «!» باشه و در حالت عادی، برای تایپ کردن این حروف باید دکمهی shift رو فشار داد، ولی توی کدی که نشون داده میشه این نکته لحاظ نشده. به عبارت دیگه، توی تابع enterChar، مقدار متغیر lower برای حروف «?» و «!» باید به ترتیب به «/» و «1» تغییر داده بشه، ولی کدی که نوشته شده داره جوری با اون حروف برخورد میکنه که انگار دو دکمهی مجزا براشون وجود داره. لطفا به این مثال توجه کنید: اگه عمر هر کلید برابر با ۳ باشه و بخوایم رشتهی زیر رو تایپ کنیم:
11!!!
در عمل به جاش این رشته تایپ میشه:
11!
به این خاطر که بعد از وارد کردن 11، عمر باقیموندهی کلید 1 به یک میرسه. اما کدی که نوشتید این رشته رو برمیگردونه:
11!!!
چون به حرف «!» به چشم یه دکمهی جداگانه نگاه میکنه (که درست نیست).
متأسفانه به نظر میرسه که برای آماده کردن تستهای این سؤال از همین کد نادرست استفاده شده؛ من کدی که نوشته بودم رو عمدا ایراددار کردم که مثل کد شما رفتار کنه و امتیازم از ۸۸ به ۱۰۰ رسید.
اگر به این نتیجه رسیدید که ایرادی که گرفتم درسته و باعث شده که یکی از تستهای سؤال غلط باشه، به نظرم اخلاق حرفهای حکم میکنه که تستهای سؤال رو درست کنید، همهی submissionها رو rejudge کنید و به طور رسمی از شرکتکنندههای بخش Golang کدکاپ ۷ عذرخواهی کنید.
از این که وقت گذاشتید و این کامنت رو خوندید متشکرم.