CodeKata. 同じ数字

1659 ワード

CodeKata.


🧐 質問する

숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.

num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)

예를 들어,
num = 123
return false
=> 뒤집은 모양이 321 이기 때문

num = 1221
return true
=> 뒤집은 모양이 1221 이기 때문

num = -121
return false
=> 뒤집은 모양이 121- 이기 때문

num = 10
return false
=> 뒤집은 모양이 01 이기 때문
マイコード const sameReverse = num => { const strNum = String(num); const strNumArr = strNum.split(""); const reverseNum = strNumArr.reverse(); const numJoin = reverseNum.join(""); if((strNum[0] === '-') || (strNum !== numJoin)){ return false; } else if(strNum === numJoin) { return true; } }

方法 CodeKata 02. で解いた問題と同様に、数字を文字列に変換して、ビット数ごとに並べる方法でアクセスします。 1)数値を文字列に変換します。 '1234' const strNum = String(num); 2)各数字を小数点以下の数の配列に分け、 [ '1', '2', '3', '4' ] const strNumArr = strNum.split(""); 3)既存の配列のデータを逆の順序で配列する配列を作成します。 [ '4', '3', '2', '1' ] const reverseNum = strNumArr.reverse(); 4)アレイ内の各データを1つの文字列に再結合します。 '4321' const numJoin = reverseNum.join(""); 5)変数strNumと変数numJoinが等しいかどうかに応じて、if文を書いてtrueまたはfalseを返します。 -ただし、パラメータとして受け取ったnumが負数の場合、反転後無条件にマイナス(-)となるため 反転前後は絶対に同じではないのでfalseを返す条件文に該当する条件を追加します。 if((strNum[0] === '-') || (strNum !== numJoin)){ return false; } else if(strNum === numJoin) { return true; }

ぶんかつ


-String()カッコ内の数値に変換->文字列
配列に関連するメソッド分割(")メソッドカッコ内の要素を文字列->配列反転()メソッド配列内のデータ順序に変換し、変換join(")メソッド配列内のデータをカッコ内の要素間に配置し、()メソッド配列内のデータ順序を反転します.