[プログラマ]自然数配列の反転

2305 ワード

実はプログラマーは、、、難しいと思います.全然答えられませんが、見つけました.本当に簡単な問題があります.今日は前の空白のためにウォーミングアップしたつもりで、軽くウォーミングアップしました!

🤔 質問する


自然数nを逆さまにして、各数字を要素の配列で返します.例えば、n12345である場合、[5,4,3,2,1]が戻される.

👌 例

n = 12345	
return [5,4,3,2,1]

🤓 に答える


私の髪の草

function solution(n) {
    var answer = [];
   1)  const str = n.toString().split('');
 
   2)	for(let i in str){
      answer.push(Number(str[i]))  
    }

  3)  return answer.reverse();
}
  • の並び方さえ分かれば、気軽に問題を解決できます.
  • そんなに効率的な解答ではありませんが、説明するなら
    1)自然数を文字列に変換する:分離する形状を反転する
    2)分離された要素を答え配列に入れ,その配列は繰り返し文を返す値である.
    3)配列の逆メソッドを使用して返します.
  • は当初は基本金を考えていたのですが、もう少し交換できるようなのでforinを使いました.でも使ってる時にふとfor inとfor ofの違いを思い出しましただから私たちはまず(本当の意識の流れ...;)
  • for of / for in

  • はもちろんですが、両方とも基本的にfor文を使用するので、重複するオブジェクトに適用できます.違いは、どのような重複要因に適用できるようです.
  • for in
  • にリストされるオブジェクトのプロパティを繰り返します.すべてのオブジェクトシェイプに適用されるため、配列内で回転できますが、MDNでは推奨されません.
  • Note: for...inインデックス順序が重要なArrayでの重複には使用できません.MDN
  • は特定の順序で返却が保証されていないためらしいのですが、私が解決した問題ではfor ofは役に立たず、ウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウウ
  • for of
    -繰り返し可能オブジェクト(Array、Map、Set、String...)重複入力(Duplicate Input)の場合、オブジェクトのすべてのリスト可能なアトリビュートのうち、重複入力(Duplicate Input)は、より特定の重複可能なオブジェクトに対してのみ重複します.
    以上のように、
    特定の重複可能オブジェクト(代表的なArray)はfor ofであり、アクセント列のすべてのオブジェクトに対してfor inが使用されるようです.
  • もう一つの斬新な解答(文字解答)

    return (n+"").split("").reverse().map(v => parseInt(v));
  • 行で終了した素晴らしい解答
  • (n+"):数字文字変換
  • split("):
  • を逐字分解
  • 逆方向():逆方向回転
  • マッピング(v=>解析器Int(v)
  • その他の新規な解答(デジタル解答)

    function solution(n) {
        // 문자풀이
    
        // 숫자풀이
        var arr = [];
    
        do {
            arr.push(n%10);
            n = Math.floor(n/10);
        } while (n>0);
    
        return arr;
    }
  • 私は本当にこの方法を考え出した人が不思議だと思います.入力されたパラメータnの残りとシェアを利用して、空船の星に逆さに押す方法で、前に解くように形を変換し、煩雑な過程がなく、数字に従って処理することができます.ああ