Files
2023-01-09 22:57:22 +05:30

2.9 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
aaa48de84e1ecc7c742e1124 مدقق لمعاكس المقطع النصي 5 16004 palindrome-checker

--description--

قم بإرجاع true إذا كان الـ string المعطي هو palindrome. خلاف ذلك، قم بإرجاع false.

palindrome هي كلمة أو جملة يتم تهجئتها بنفس الطريقة من بدايتها او من نهايتها ، مع تجاهل علامات الترقيم، والحالة، والمسافات.

ملاحظة: ستحتاج إلى إزالة جميع الأحرف غير الأبجدية والرقمية (علامات الترقيم، المساحات والرموز) وتحويل كل شيء إلى نفس الحالة (lower او upper case) من أجل التحقق من وجود الـ palindromes.

سنمرر strings بتنسيقات مختلفة ، مثل racecar و RaceCar و race CAR وغيرهم.

سنمرر أيضًا strings برموز خاصة ، مثل 2A3*3a2 و 2A3 3a2 و 2_A3*3#A2.

--hints--

palindrome("eye") يجب أن يعيد boolean.

assert(typeof palindrome('eye') === 'boolean');

palindrome("eye") يجب أن يعيد true.

assert(palindrome('eye') === true);

palindrome("_eye") يجب أن يعيد true.

assert(palindrome('_eye') === true);

palindrome("race car") يجب أن يعيد true.

assert(palindrome('race car') === true);

palindrome("not a palindrome") يجب أن يعيد false.

assert(palindrome('not a palindrome') === false);

palindrome("A man, a plan, a canal. Panama") يجب أن يعيد true.

assert(palindrome('A man, a plan, a canal. Panama') === true);

palindrome("never odd or even") يجب أن يعيد true.

assert(palindrome('never odd or even') === true);

palindrome("nope") يجب أن يعيد false.

assert(palindrome('nope') === false);

palindrome("almostomla") يجب أن يعيد false.

assert(palindrome('almostomla') === false);

palindrome("My age is 0, 0 si ega ym.") يجب أن يعيد true.

assert(palindrome('My age is 0, 0 si ega ym.') === true);

palindrome("1 eye for of 1 eye.") يجب أن يعيد false.

assert(palindrome('1 eye for of 1 eye.') === false);

palindrome("0_0 (: /-\ :) 0-0") يجب أن يعيد true.

assert(palindrome('0_0 (: /- :) 0-0') === true);

palindrome("five|\_/|four") يجب أن يعيد false.

assert(palindrome('five|_/|four') === false);

--seed--

--seed-contents--

function palindrome(str) {
  return true;
}

palindrome("eye");

--solutions--

function palindrome(str) {
  var string = str.toLowerCase().split(/[^A-Za-z0-9]/gi).join('');
  var aux = string.split('');
  if (aux.join('') === aux.reverse().join('')){
    return true;
  }

  return false;
}