Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya 2147483647’i geçmeyen bir sayı (girilenSayi) veriliyor ve programcıdan sayıyı her 3 basamaktan sonra virgüllerle ayrılmış hale getirmesi isteniyor.

    Örnek

    Girdi Çıktı
    girilenSayi: 1234567 sonuc: “1,234,567”
    girilenSayi: -35235235 -> sonuc: “35,235,235”

    Çözüm - C#

    using System;
    
    public class Program
    {
        public static void Main()
        {
            // 1. Şakkadanak çözüm
            var girilenSayi1 = 12441500.ToString("N0");
            Console.WriteLine(girilenSayi1.Replace(".", ","));
    
            // 2. İşleri uzatarak çözüm
            int girilenSayi2 = 12441500;
    
            // Sayıyı karakter dizisine dönüştürerek tersine çevir
            char[] sayilar = Convert.ToString(girilenSayi2).ToCharArray();
            Array.Reverse(sayilar);
    
            int sayac = 0;
            string sonuc = "";
            // Ters çevirilen dizide, her üçer üçer devamda virgül ekle
            foreach (char sayi in sayilar)
            {
                sayac++;
                if (sayac % 3 == 0)
                    sonuc += sayi + ",";
                else
                    sonuc += sayi;
            }
    
            // Son alandaki virgülü kaldır ve karakter dizisine dönüştürüp ters çevir
            char[] charArray = sonuc.TrimEnd(',').ToCharArray();
            Array.Reverse(charArray);
    
            sonuc = new string(charArray);
            Console.WriteLine(sonuc);
    
            Console.Read();
        }
    }
    

    Çözüm - Python

    girilen_sayi = 124415
    
    dizi = []
    for sayi in str(girilen_sayi):
        dizi.append(sayi)
    
    sayac = 0
    ters_sayi = ""
    # Ters çevirilen dizide, her üçer üçer devamda virgül ekle
    for sayi in dizi[::-1]:
        sayac += 1
        if sayac % 3 == 0:
            ters_sayi += sayi + ","
        else:
            ters_sayi += sayi
    
    # Son alandaki virgülü kaldır ve karakter dizisine dönüştürüp ters çevir
    sonuc = ters_sayi[::-1].strip(',')
    
    print(sonuc)