Takip et

JavaScript ile Ardışık Tekrar Eden Karakterleri Bulma

JavaScript ile Ardışık Tekrar Eden Karakterleri Bulma

Merhaba! Bugün, JavaScript kullanarak bir string içinde ardışık olarak tekrar eden karakterleri nasıl tespit edebileceğimiz konusunu ele alacağız. Bu, çeşitli programlama problemlerinde kullanabileceğiniz temel bir algoritma becerisidir. Örneğin, form doğrulamaları veya metin işleme görevlerinde oldukça faydalı olabilir. Öncelikle, problemi ve çözüm stratejilerini açıklayacağım, daha sonra ise farklı yaklaşımları kod örnekleriyle ve performans karşılaştırmalarıyla göstereceğim. Bu makalenin sonunda, konuyu daha iyi kavrayacağınızdan eminim.

Problem Tanımı

Görevimiz basit: Verilen bir string içerisinde, ardışık olarak en az iki kere tekrar eden karakterleri bulmak. Örneğin, “aabccddeeff” stringinde ardışık tekrar eden karakterler ‘aa’, ‘cc’, ‘dd’, ‘ee’ ve ‘ff’dir. Bunların tespiti için farklı çözüm yolları mevcuttur. Bu çözümlerin performansını karşılaştırarak en verimli olanı seçebiliriz.

Çözüm Yöntemleri ve Kod Örnekleri

Bu problemi çözmek için birkaç farklı yaklaşım kullanabiliriz. İşte bunlardan bazıları ve JavaScript kod örnekleri:

Yöntem 1: Döngü ile Karşılaştırma

Bu yöntem, stringi sıralı olarak tarayarak her karakteri bir sonrakini ile karşılaştırır. Eğer aynı karakterlere rastlarsa, tekrar eden karakterleri bulmuş oluruz. Bu basit bir yöntem olsa da, büyük stringler için performans açısından verimli olmayabilir.


function consecutiveDuplicates(str) {
  let result = [];
  for (let i = 0; i < str.length - 1; i++) {
    if (str[i] === str[i + 1]) {
      result.push(str[i] + str[i+1]);
    }
  }
  return result;
}

console.log(consecutiveDuplicates("aabccddeeff")); // ['aa', 'cc', 'dd', 'ee', 'ff']

Yöntem 2: Regex Kullanımı

Regular Expressions (Regex) kullanarak bu problemi daha kısa ve öz bir şekilde çözebiliriz. Regex'ler, metin işlemede oldukça güçlü bir araçtır. Aşağıdaki kod örneği, ardışık tekrar eden karakterleri bulmak için bir Regex kullanmaktadır.


function consecutiveDuplicatesRegex(str) {
  return str.match(/(.)\1+/g); // (.)\1+  bir karakterin bir veya daha fazla kez tekrar etmesini arar.
}

console.log(consecutiveDuplicatesRegex("aabccddeeff")); // ['aa', 'cc', 'dd', 'ee', 'ff']

Bu yöntem, özellikle büyük stringler için daha performanslı olabilir. Çünkü Regex motorları, bu tür görevler için optimize edilmiştir. Ancak, Regex'lerin okunabilirliği ve bakımı bazen daha zor olabilir.

Performans Karşılaştırması

İki yöntemi de farklı büyüklükteki stringlerle test ederek performanslarını karşılaştırabiliriz. Genellikle, Regex tabanlı yöntem, büyük stringler için daha hızlı olacaktır. Ancak, küçük stringlerde fark çok belirgin olmayabilir. Bu testler, kullanılan JavaScript motoru ve sistem özelliklerine bağlı olarak değişebilir.

Sonuç

Bu makalede, JavaScript kullanarak bir string içinde ardışık tekrar eden karakterleri tespit etmenin farklı yöntemlerini inceledik. Her iki yöntemin de kendi avantajları ve dezavantajları vardır. Seçilecek yöntem, projenin özel gereksinimlerine ve string büyüklüğüne bağlı olarak değişmelidir. Daha fazla bilgi için web sitemi ziyaret edebilirsiniz. Ayrıca, konu hakkında daha fazla bilgi edinmek için bu bağlantıya göz atabilirsiniz.

#Etiketler: JavaScript, Ardışık Tekrar, Karakter, String, Dizi, Algoritma, Performans, Kodlama, Programlama, Regex, Metin İşleme


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version