Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya farklı uzunluktaki kelimelerden oluşan bir cümle veriliyor. Programcıdan ise girilen cümlendeki (girilenCumle) en kısa kelimenin uzunluğunun kaç olduğunu bulmasını sağlayan bir kod yapısı oluşturması isteniyor.

    Not: Cümle içinde yer alan nokta ve virgül’ün sonuçlara yansımaması ayrıca belirtiliyor.

    Örnek

    Girdi Çıktı
    girilenCumle: Bu bir deneme metnidir. Sonuç: 3
    girilenCumle: Ali, ata bak. Sonuç: 3

    Çözüm - C#

    using System;
    using System.Collections.Generic;
     
    internal class Program
    {
        private static void Main(string[] args)
        {
            string girilenCumle = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
                                  "Nam auctor placerat maximus. Donec cursus felis vel sem interdum" +
                                  ", sit amet dapibus mauris vulputate.";
     
            // Girilen cümledeki virgül ve nokta işaretlerini kaldır
            string duzenlenenCumle = girilenCumle.Replace(',', ' ').Replace('.', ' ');
     
            List<int> deger = new List<int>();
     
            // Düzenlenen cümledeki her bir kelimeyi diziye at
            foreach (string kelime in duzenlenenCumle.Split(' '))
            {
                // Eğer kelimenin uzunluğu 0 değilse, kelime uzunluklarını diziye at
                if (kelime.Length > 0)
                {
                    deger.Add(kelime.Length);
                }
            }
     
            // Dizideki değerleri küçükten büyüğe göre sırala
            deger.Sort();
     
            Console.WriteLine("En kısa kelimenin uzunluğu: " + deger[0]);
     
            Console.Read();
        }
    }
    

    Çözüm - Java

    import java.util.ArrayList;
    import java.util.Collections;
     
    public class Main {
        public static void main(String[] args) {
            String girilenCumle = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
                    "Nam auctor placerat maximus. " +
                    "Donec cursus felis vel sem interdum, sit amet dapibus mauris vulputate.";
     
            // Girilen cümledeki virgül ve nokta işaretlerini kaldır
            String duzenlenenCumle = girilenCumle.replace(',', ' ').replace('.', ' ');
     
            ArrayList<Integer> deger = new ArrayList<>();
     
            // Düzenlenen cümledeki her bir kelimeyi diziye at
            for (String kelime : duzenlenenCumle.split(" ")) {
                // Eğer kelimenin uzunluğu 0 değilse, kelime uzunluklarını diziye at
                if (kelime.length() > 0)
                {
                    deger.add(kelime.length());
                }
            }
     
            // Dizideki değerleri küçükten büyüğe göre sırala
            Collections.sort(deger);
     
            System.out.println("En kısa kelimenin uzunluğu: " + deger.get(0));
        }
    }