programmers Level1 (3)

5618 ワード

Q:数字と英語で入力された数字の文字列を数字に変換し、ex)「one 4 seveneight」→1478


私の答え
def solution(s):
    ls = ['zero','one','two','three','four','five','six','seven','eight','nine']
    for i in range(len(ls)):
        if ls[i] in s:
            s=s.replace(ls[i],str(i))
    
    answer = int(s)
    return answer
最高の答え
num_dic = {"zero":"0", "one":"1", "two":"2", "three":"3", "four":"4", "five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"}

def solution(s):
    answer = s
    for key, value in num_dic.items():
        answer = answer.replace(key, value)
    return int(answer)
感じたのは、早朝に翌日のコードテストを見ておくように、コードを入力して思ったより短い時間で解き、位置決めしたことです.この問題は、リストに置換する値を入力してfor文で置き換えることで解決します.私の答えと同じような答えがいいです.2位の答えです.正しい方向に問題を解いているようで、気持ちがいいです.最高の答えは辞書の資料型で答えた.もともとゼロでキーを表すことができて、valueでゼロを表すことができて、考えてみれば対称のキーで、値です.他の人の解題を見て、このような方法でも近づくことができることを学びました.