Palindrom Denetleyicisi (JavaScript)
Bu yazımda girilen kelime, sayı veya cümlenin palindrom olup olmadığını denetleyen programın kodlarını paylaştım. Programı JavaScript ile yazdım.
Palindrom Nedir?
Bir kelime, sayı veya cümlenin tersten okunuşunun da aynı olmasına palindrom deniyor. “kaçak”, “ama”, “2332” gibi sayı ve kelimeler palindroma örnek olarak gösterilebilir.
Palindrom Denetleyicisinin Kodları
Eğer girdi palindrom ise “true”, değilse “false” döndüren bir program yazdım. Kodları aşağıda ve github sayfamda paylaştım.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Is string alpha numeric and char
function isAlphaNumeric(str) {
/* [a-z0-9] a or b or c or ...z or 0 or 1 or ... 9 /i case-insensitive */
return str.length === 1 && /[a-z0-9]/i.test(str);
}
// Palindrome checker function
function palindrome(str) {
// Create an empty string
let changedStr = '';
// Add the alpha numeric characters to changedStr variable
for (let i = 0; i < str.length; i += 1) {
const element = str[i];
// Change the char to lower case
if (isAlphaNumeric(element)) {
changedStr += element.toLowerCase();
}
}
// Reverse the changed string
const reversedStr = changedStr
.split('')
.reverse()
.join('');
// Check normal and reversed string for equality. If they are equal, return true
if (changedStr === reversedStr) {
return true;
}
return false;
}
// Try it
console.log(palindrome('HAH'));
Ejderha Dili
İçerik görselindeki “HAH” kelimesinin palindrom olduğunu farketmişsinizdir. Eğer The Elder Scrolls V: Skyrim oyununu oynadıysanız, muhtemelen ejderha dilinden haberdarsınızdır. “HAH”, ejderha dilinde “akıl” anlamına geliyor. Konuyla uyumlu bir görsel hazırlamak istedim. Aklıma bu geldi. :) Eğer ejderha dili hakkında daha fazla bilgi edinmek isterseniz şu sayfayı inceleyebilirsiniz.