数字文字列と英語単語-javascript


質問(ソース)


👉 https://programmers.co.kr/learn/courses/30/lessons/81301

私の接近


  • まず問題を見て、英語にルールがあるかどうかを考えてみましょう.

  • for ofはstringを繰り返して個別値を表示することもできるので、何ができるか悩んでいます...

  • 昨日答えた質問に使うreplaceでいいです
    しかし、提出後のスコアで失敗が続いたため、replaceはstringで最初に発見されたものしか変更できないことに気づいたので、replaceallまたは正規表現を使用しなければすべて変更できません.
  • に答える

    function solution(s) {
        let answer = 0;
        
        s = s.replace(/zero/g, 0);
        s = s.replace(/one/g, 1);
        s = s.replace(/two/g, 2);
        s = s.replace(/three/g, 3);
        s = s.replace(/four/g, 4);
        s = s.replace(/five/g, 5);
        s = s.replace(/six/g, 6);
        s = s.replace(/seven/g, 7);
        s = s.replace(/eight/g, 8);
        s = s.replace(/nine/g, 9);
        
        answer = Number(s);
        return answer;
    }

    今日の勉強と教訓

  • はよく解けることを喜んで、他の人の解の中でもっと良い解を発見して分かち合いました.
  • function solution(s) {
        let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
        var answer = s;
    
        for(let i=0; i< numbers.length; i++) {
            let arr = answer.split(numbers[i]);
            answer = arr.join(i);
        }
    
        return Number(answer);
    }

  • あまりにもきれいで奇抜だったので、髪を撮って...

  • splitを使用する場合は、この値を基準に分割し、joinを使用して対応する数値を入力します.2つの方法の使い方をよく見てみます.

  • 正規表現/~~/gを使うと、探しているものをすべて頭の中に入れ直します.

  • 再びそのハーモニーに感嘆...