Member-only story
HackerRank — Java Substring
Substring nedir? Java Substring sorusunun çözümü

HackerRank üzerindeki Java problemlerini çözüyoruz. Bu on beşinci problem. Eğer diğer problem çözümlerini okumadıysanız önce onlara bakmanızı tavsiye ederim, hepsinin toplu hali:
Yazının devamını göremeyenler “bu linkten” erişebilirler.
Önce problemi anlayalım sonra da çözümüne geçelim. Problemi anlama kısmını okuduktan sonra problemi çözmeyi denemenizi sonra da buradaki çözümle karşılaştırmanızı şiddetle tavsiye ederim :)
Problemin linki 👇
Problemi anlayalım
Substring, bir string’in bir parçası demek. Anlamlı olmasına ya da uzunluğunun x karakter olmasına gerek yok. String’den arka arkaya gelen bir parçaya substring diyoruz.
Örneğin “apple” kelimesi için substringler şunlar: “a”, “ap”, “app”, “appl”, “apple”, “p”, “pp”, “ppl”, “pple”, “pl”, “ple”, “l”, “le” “e”, “”(evet boş string de bir substring)
Substring kavramı sıklıkla karşımıza çıkacak (Bknz: String-searching algorithm ve Longest common substring). Substring’i bulmak için Java’da String sınıfında subString() metodu bulunur.
public String substring(int beginIndex,
int endIndex)
Örneğin:
"hamburger".substring(4, 8) ---> "urge"
"smiles".substring(1, 5) ---> "mile"
“hamburger” örneğinde başlangıç indeksi 4, bitiş indeksi de 8. Başlangıç indeksini sayarken String’lerin bir char array olduğunu unutmayın yani ilk harfin indexi 0'dır.
0- h
1- a
2- m
3- b
4- u
5- r
6- g
7- e
8- r
Yukarıda görüldüğü gibi 4. indeks “u”, bitiş indeksi 8 girdik ama aslında sonuncu…