Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya, 0 ila 9 arasında olan rakamlardan oluşan bir sayı (girilenSayi) veriliyor. Bu noktadan sonra ise, sayıda yer alan rakamların tekrarı kadar olan yeni bir sayı oluşturması isteniyor.

    Örnek

    Girdi Çıktı
    girilenDeger: 123 Sonuç: 122333
    girilenDeger: 502 Sonuç: 5555522

    Çözüm - C#

    using System;
    using System.Collections.Generic;
     
    internal class Program
    {
        private static void Main(string[] args)
        {
            int verilenSayi = 412;
     
            List<string> dizi = new List<string>();
            string sonuc = "";
     
            // Kullanıcıya verilen sayıyı önce string'e oradan da karakter dizisine dönüştür
            char[] karakterler = Convert.ToString(verilenSayi).ToCharArray();
     
            // Karakter dizisindeki her bir değeri liste dizisine at
            foreach (char sayi in karakterler)
            {
                dizi.Add(sayi.ToString());
            }
     
            // Dizideki karakter sayısı boyunca döngü oluştur
            for (int i = 0; i < dizi.Count; i++)
            {
                // Dizideki karakterlerin belirttiği sayı kaçar iç döngüyü çalıştır ve sayıyı o kadar yazdır
                for (int j = 0; j < Convert.ToInt32(dizi[i]); j++)
                {
                    // Yazdırılan her bir sayıyı sonuc değişkenine ekle
                    sonuc += karakterler[i];
                }
            }
     
            Console.WriteLine(sonuc);
     
            Console.Read();
        }
    }
    

    Çözüm - Java

    import java.util.ArrayList;
     
    public class Main {
        public static void main(String[] args) {
            int verilenSayi = 412;
     
            ArrayList dizi = new ArrayList();
            String sonuc = "";
     
            // Kullanıcıya verilen sayıyı önce string'e oradan da karakter dizisine dönüştür
            char[] karakterler = String.valueOf(verilenSayi).toCharArray();
     
            // Karakter dizisindeki her bir değeri liste dizisine at
            for (int i = 0; i < karakterler.length; i++) {
                dizi.add(karakterler[i]);
            }
     
            // Dizideki karakter sayısı boyunca döngü oluştur
            for (int i = 0; i < dizi.size(); i++) {
                // Dizideki karakterlerin belirttiği sayı kaçar iç döngüyü çalıştır ve sayıyı o kadar yazdır
                for (int j = 0; j < Integer.parseInt(String.valueOf(dizi.get(i))); j++) {
                    // Yazdırılan her bir sayıyı sonuc değişkenine ekle
                    sonuc += karakterler[i];
                }
            }
     
            System.out.println(sonuc);
        }
    }