• 21-02-2022, 09:40:43
    #10
    entriko adlı üyeden alıntı: mesajı görüntüle
    hocam ben size gondereyim siz yapin cekilisi, olmaz mi?
    olur hocam gönder
  • 21-02-2022, 09:46:52
    #11


    [COLOR=#D9DAE9 adlı üyeden alıntı:
    no[/COLOR]rosezene = 017
    tifowoxoursne = 1246
    tefihnireevne= 359

    norosezene = 017 burada seven v nerede?
    tifowoxoursne =1246, bunun 1246 olduğu nereden anlaşılıyor 2146 niye değil?
    Sıralama hep küçükten büyüğe olacaksa çok kolay ki.
    Gelen stringi karakterlere böl, sonra tek tek sayılara karşılık gelen karakterler varsa sil ve bunu string bitene kadar hesapla.
  • 21-02-2022, 11:49:56
    #12
    entriko adlı üyeden alıntı: mesajı görüntüle
    selamlar,
    bi code challange da karsima cikti, zaten acemiyim ama yaparim demistim, olmadi, kafayi yedim.

    Soru su:

    mesela elimizde soyle bir string var : "owoftnuoer". burda ingilizce olarak , one, two, four harflerinin karisimi var, dolayisiyla output soyle olmasi lazim : 124
    bizim oyle bir fonksiyon yazmamiz lazim ki gelen string ne kadar karisik ya da uzun olursa olsun, biz dogru sayilari return edelim. (gelen string i dogru harfler ve kombinasyon ile geldigini varsayacagiz)

    biraz arastirdim, java ve phyton cevaplari var surda ama bunu php ile nasil yapariz?

    ilk calisan fonksiyonu paylasana 150tl gonderiyorum! kucuk miktar ama en azindan belki gaza getirir bizi )
    (verdigim linkteki kodu direk php cevirip yapmayalim, biraz degistirelim, bakalim neler cikacak?)

    bazi ipuclari sunlar

    $num = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] ;

    burda
    z harfi sadece 0 da ,
    u harfi sadece 4 de,
    g harfi sadece 8 de,
    w harfi sadece 2 de,
    x harfi sadece 6 da bulunuyor

    Alternatif çözüm;
    (Belirtilmemiş ama eğer gerekirse bir kaç değişiklikle sonuç bulunduktan bir sonraki aramayı önceki sonuçtan geriye kalan karakterler üzerinde yapabilirsiniz.)
    $_charset = 'owoftnuoer';
    $_arr = array( 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine');
    
    $_findNumber = function ( string $chars, string $text ) use ( $_arr ): int|bool
    {
        $match = null;
        foreach( str_split( $text ) as $char ) {
            if ( str_contains($chars, $char) ) {
                $chars = substr_replace( $chars, '', strpos( $chars, $char ), 1 );
                $match .= $char;
            }
        }
        return $match === $text ? array_search( $text, $_arr ) : false;
    };
    
    foreach ( $_arr as $text ) {
        echo $_findNumber( $_charset, $text );
    }
  • 21-02-2022, 21:05:29
    #13
    Polat adlı üyeden alıntı: mesajı görüntüle
    olur hocam gönder
    gectim hocam odemeyi attiginiz iban a
    Seyit25 adlı üyeden alıntı: mesajı görüntüle
    norosezene = 017 burada seven v nerede?
    tifowoxoursne =1246, bunun 1246 olduğu nereden anlaşılıyor 2146 niye değil?
    Sıralama hep küçükten büyüğe olacaksa çok kolay ki.
    Gelen stringi karakterlere böl, sonra tek tek sayılara karşılık gelen karakterler varsa sil ve bunu string bitene kadar hesapla.
    harfleri karistirirken v yi silmisim sanirim.
    rakamlarin yeri cok onemli degil, dogru rakamlar basildiktan sonra, onlari siralamak kolay zaten.
    kelime ile ifade etmesi bence de cok kolay, koda dokene nacizane ufak bir odul gonderdim 👍🏽
    ZEON adlı üyeden alıntı: mesajı görüntüle
    Alternatif çözüm;
    (Belirtilmemiş ama eğer gerekirse bir kaç değişiklikle sonuç bulunduktan bir sonraki aramayı önceki sonuçtan geriye kalan karakterler üzerinde yapabilirsiniz.)
    $_charset = 'owoftnuoer';
    $_arr = array( 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine');
    
    $_findNumber = function ( string $chars, string $text ) use ( $_arr ): int|bool
    {
        $match = null;
        foreach( str_split( $text ) as $char ) {
            if ( str_contains($chars, $char) ) {
                $chars = substr_replace( $chars, '', strpos( $chars, $char ), 1 );
                $match .= $char;
            }
        }
        return $match === $text ? array_search( $text, $_arr ) : false;
    };
    
    foreach ( $_arr as $text ) {
        echo $_findNumber( $_charset, $text );
    }
    hocam bu kodda 4 satir, yani int|bool kisminda hata veriyor, ben zaten boyle php fonksiyonu gormedim daha once, ya advanced bir kullanim ben bilmiyorum ya da baska bir dilldeki kullanim ile karistirdiniz galiba
  • 21-02-2022, 22:20:33
    #14
    entriko adlı üyeden alıntı: mesajı görüntüle
    gectim hocam odemeyi attiginiz iban a

    harfleri karistirirken v yi silmisim sanirim.
    rakamlarin yeri cok onemli degil, dogru rakamlar basildiktan sonra, onlari siralamak kolay zaten.
    kelime ile ifade etmesi bence de cok kolay, koda dokene nacizane ufak bir odul gonderdim 👍🏽


    hocam bu kodda 4 satir, yani int|bool kisminda hata veriyor, ben zaten boyle php fonksiyonu gormedim daha once, ya advanced bir kullanim ben bilmiyorum ya da baska bir dilldeki kullanim ile karistirdiniz galiba
    Buyrun hocam; yanlış sonuç bulma ihtimali yoktur.
    <?php
    $alfabe = array("zero","one","two","three","four","five","six","seven","eight","nine");
    $value = "tifowoxoursne";
    $bulunansayilar = "";
    $valuechars = str_split($value);
    $valuechars_orj = str_split($value);
            for ($a = 0; $a < count($alfabe); $a++)
            {
                $myChars = str_split($alfabe[$a]);
                $sayiuzunluk = 0;
                for ($b = 0; $b < count($myChars); $b++)
                {
                    for ($c = 0; $c < count($valuechars); $c++)
                    {
                        if ($myChars[$b] == $valuechars[$c] && $valuechars[$c]!=' ')
                        {
                            $sayiuzunluk += 1;
                            $valuechars[$c] = ' ';
                            break;
                        }
                    }
                    if ($b + 1 == count($myChars))
                    {
                        if (count($myChars) == $sayiuzunluk)
                        {
                            $bulunansayilar = $bulunansayilar ."," .($a);
                            $valuechars_orj=$valuechars;                        
                        }
                        else
                        {
                            $valuechars=$valuechars_orj;                        
                        }
                    }                
                }
            }
    echo $bulunansayilar;
    ?>
  • 22-02-2022, 00:26:38
    #15
    entriko adlı üyeden alıntı: mesajı görüntüle
    hocam bu kodda 4 satir, yani int|bool kisminda hata veriyor, ben zaten boyle php fonksiyonu gormedim daha once, ya advanced bir kullanim ben bilmiyorum ya da baska bir dilldeki kullanim ile karistirdiniz galiba
    Henüz o kadar yaşlanmadım ama muhtemelen PHPnin eski bir versiyonunu kullanıyorsunuzdur. PHP 8 ve üzerinde çalışır. Ayrıca : int|bool kısmı silinebilir de, kullanımı zorunlu değil.