Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya büyük ve ingilizce karakterler kullanılarak yazılan herhangi bir kelime/cümle (girilenCumle) sunuluyor. Programcıdan ise, girilen bu cümledeki harfleri belirli bir alfabeye (İnternet Dili/Leetspeak) dönüştüren bir program oluşturması isteniyor.

    Leet (veya “1337”, ayrıca eleet ya da leetspeak olarak da bilinir), İnternet’te birçok dil için oluşturulmuş, başlıca kullanılan alternatif alfabe sistemi. Yansıma veya benzerlik yoluyla gliflerin benzerliği üzerinde oynanacak şekilde diğer karakterlerle yer değiştirilmesi için bazı karakterler kullanır. Örneğin leet kelimesinin leet yazılışı 1337 ve l33t; eleet kelimesinin ise 31337 ya da 3l33t’dir. (Kaynak: Vikipedi)

    Örnek

    Girdi Çıktı
    girilenCumle: SELAM Sonuç: $31@M
    girilenCumle: BU BIR DENEMEDIR Sonuç: 8U 8!R D3N3M3D!R

    Çözüm - C#

    using System;
    using System.Collections.Generic;
     
    class Program
    {
        static void Main(string[] args)
        {
            string tuhafYazi = "BU BIR DENEMEDIR";
            string sonuc = null;
     
            Dictionary<char, char> harfler = new Dictionary<char, char>()
            {
                {'A', '@'},
                {'B', '8'},
                {'C', '('},
                {'D', 'D'},
                {'E', '3'},
                {'F', 'F'},
                {'G', '6'},
                {'H', '#'},
                {'I', '!'},
                {'J', 'J'},
                {'K', 'K'},
                {'L', '1'},
                {'M', 'M'},
                {'N', 'N'},
                {'O', '0'},
                {'P', 'P'},
                {'Q', 'Q'},
                {'R', 'R'},
                {'S', '$'},
                {'T', '7'},
                {'U', 'U'},
                {'V', 'V'},
                {'W', 'W'},
                {'X', 'X'},
                {'Y', 'Y'},
                {'Z', '2'},
                {' ', ' '}
            };
     
            // Girilen yazıdaki her bir harfi karşılaştırarak yerine ekleme yap
            foreach (char harf in tuhafYazi)
            {
                // Her bir eşleşmede anahtar değişikliği yap
                if (harfler.ContainsKey(harf))
                {
                    // Sonuçlara tek tek ekleme yaparak cümleyi oluştur
                    sonuc += harfler[harf];
                }
            }
     
            Console.WriteLine(sonuc);
     
            Console.Read();
        }
    }