Przejdź do treści
Jobless Busters
Z testamiPodstawowa

Palindrom

Napisz isPalindrome(text). Najpierw ustal reguły: czy ignorujemy wielkość liter, spacje i znaki przestankowe? W tym zadaniu porównujemy wszystkie znaki, pomijając tylko wielkość liter.

Zgodnie z nietypowym kontraktem zadania zwracamy true albo 0; w zwykłym API lepszy byłby konsekwentny boolean. Porównuj punkty kodowe, nie jednostki UTF-16 — emoji też są znakami.

  • Ustalić reguły porównania
  • Porównać znaki od obu końców
  • Obsłużyć znaki spoza BMP (emoji)
  • isPalindrome('Kajak')→ true
  • isPalindrome('React')→ 0
Testy (4)

Testy napisane na podstawie karty: przykłady Kajak/React, porównanie wszystkich znaków bez wielkości liter i tablica punktów kodowych.

przykłady z zadania

JavaScript
assert.equal(isPalindrome('Kajak'), true);
assert.equal(isPalindrome('React'), 0);

pomija tylko wielkość liter

JavaScript
assert.equal(isPalindrome('AbBa'), true);
assert.equal(isPalindrome('kajak '), 0, 'spacja jest porównywana jak każdy znak');

pusty tekst i jeden znak

JavaScript
assert.equal(isPalindrome(''), true);
assert.equal(isPalindrome('x'), true);

porównuje punkty kodowe (emoji)

JavaScript
assert.equal(isPalindrome('a😀a'), true);
assert.equal(isPalindrome('😀b'), 0);

Źródło: Full Stack / JS — karta z zadaniem — Polecenie i rozwiązanie wzorcowe pochodzą z karty; testy napisano na podstawie jej opisu.

JavaScript · uruchamiany w Web Workerze w przeglądarce

Tab wcina · Esc, a potem Tab, opuszcza edytor · ⌘/Ctrl + Enter uruchamia testy · Twój kod jest zapisywany w tej przeglądarce.

Uruchom testy, żeby sprawdzić rozwiązanie. Gotowych testów: 4.

Utknąłeś? Podpowiedzi idą od ogólnych do konkretnych.

Najpierw spróbuj naprawdę — rozwiązanie najwięcej daje, gdy już trochę się namęczysz.