Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya, içerisinde sayılar (girilenIfade) olan bir cümle veriliyor ve programcıdan mevcut cümle içerisindeki sayıların toplamını alması isteniyor.

    Örnek

    Girdi Çıktı
    girilenIfade: bu10deneme20midir30 Sonuç: 60
    girilenIfade: Yıldız2Savaşları3İyi4Filmdi5 Sonuç: 14

    Çözüm - C#

    using System;
    using System.Text.RegularExpressions;
     
    internal class Program
    {
        private static void Main(string[] args)
        {
            string girilenIfade = "bu10deneme20midir30";
     
            // Regular Expressions (Düzenli İfadeler) sınıfı ile her bir sayıyı ayırıp diziye at
            string[] sayilar = Regex.Split(girilenIfade, @"\D+");
            int toplam = 0;
     
            // Dizideki her bir değeri tek tek okut
            foreach (string deger in sayilar)
            {
                // Dizideki değer boş olmadığı sürece sayıları alarak topla
                if (!string.IsNullOrEmpty(deger))
                {
                    toplam += int.Parse(deger);
                }
            }
     
            Console.WriteLine("Cümledeki Sayıların Toplamı: " + toplam);
     
            Console.Read();
        }
    }
    

    Çözüm - Java

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
    public class Main {
        public static void main(String[] args) {
            String girilenIfade = "bu10deneme20midir30";
     
            // Pattern ve Matcher (Düzenli İfadeler) ile her bir sayıyı ayırıp diziye at
            Pattern desen = Pattern.compile("[0-9]+");
            Matcher eslesme = desen.matcher(girilenIfade);
     
            int toplam = 0;
     
            // Desendeki eşleşme grubundaki değerlerini tek tek al ve topla
            while (eslesme.find()) 
            {
                Integer sayilar = Integer.parseInt(eslesme.group());
                toplam += sayilar;
            }
     
            System.out.println("Cümledeki Sayıların Toplamı: " + toplam);
        }
    }