Na vstupu je string, který obsahuje libovolný text v českém jazyce. Cílem úlohy je naprogramovat funkci, která zjistí, zda je vstup palindrom.

Quote

Palindrom je slovo, věta, číslo nebo melodie (obecně jakákoliv sekvence symbolů), která má tu vlastnost, že ji lze číst v libovolném směru (zprava doleva nebo zleva doprava) a má vždy stejný význam1.

Detaily

  • Pokud je vstup prázdný, je nevalidní.
  • Palindrom je validní i když nejsou v druhém směru stejné mezery, interpunkce, a velké/malé znaky.
    • Uvažuj pouze běžnou interpunkci - ".", "!", "?", ",", ":"
  • To stejné platí pro diakritiku.

Příklad správného chování

const isPalindrome = (input: string): boolean => {
   // Zde doplň tělo funkce
} 
// Examples:
isPalindrome("Anna"); // true
isPalindrome("Jelenovi pivo nelej!"); // true
isPalindrome("Nepochopen"); // true
isPalindrome("Tohle není palindrom"); // false
isPalindrome("Milá památka. Malovaný sešit, den hyne, partu mámí tiše řeka, taj, mat nemám. Dán si své víno vypil, nesl chrpu, mák. Je den hájů, keř, péče, mé díly, hůl. Pán nemá kuráž, máti volám co nemám rád. I lovec musí lhát. Je lov, má klec i lev. I ten dále já masák nalézám u dubu. Taj? Málo v lese, vílo, do podolí vesel volám: Já tu budu. Má zelánka sama je. Lad? Neti, velice lkám. Volej: Táhli sumce voli, dar. Máme noc. Málo vítám žár u kamen. Na pluhy, lide, meče překuj, a hned! Ej, kam uprchl sen? Lípy voní ve vsi. Snad mámen tam já také řešiti mám utrápený hned. Tiše syna volám: Akta má pálím."); // true - toto vymyslel pan Stanislav Tvrdík a je to český rekord - nejdelší český palindrom

Rozšíření úlohy

Český palindrom není validní anglický palindrom. Rozšiř funkci tak, aby brala jako argument locale (prozatím dvě hodnoty "cs" a "en") a na základě toho proveď kontrolu.

Footnotes

  1. Silně nedoporučuju citovat Wikipedii. Tady to je OK, ale v maturitní práci je to zločin.