
謎解き: 魔法のパスワードを解読せよ
シナリオ
王国のとある神殿には、封印された宝箱 があります。 この宝箱を開けるには、古代の魔法のパスワードを 特定のルール に従って変換し、正しい形式にする必要があります。問題
魔法のパスワードは 文字列 ですが、正しい形式になるには以下のルールを満たす必要があります。- 先頭の文字 は 大文字 にする。
- すべての数字 は * に置き換える。
- スペース(空白)をすべて削除する。
- "!"(感嘆符)が含まれていなければ、最後に追加する。
条件
function transformPassword(password) {
// ここに処理を書く
}
// テストケース
console.log(transformPassword("magic 123 world")); // "Magic***world!"
console.log(transformPassword("darkCastle9!")); // "DarkCastle*!"
console.log(transformPassword(" secret door ")); // "Secretdoor!"
console.log(transformPassword("Knight77Order")); // "Knight**Order!"
console.log(transformPassword("Hello!")); // "Hello!"
解答プログラミングを打ち込む
※ checkPotionQuality()関数を完成させてください。答え
回答(サンプル)
// 1. 先頭の文字を大文字にする
password = password.trim() // 前後の空白を削除
if (password.length === 0) return "!" // 空の文字列なら "!" を返す
password = password[0].toUpperCase() + password.slice(1)
// 2. 数字を '*' に置き換える
password = password.replace(/\d/g, "*")
// 3. スペースを削除する
password = password.replace(/\s/g, "")
// 4. '!' がなければ最後に追加する
if (!password.includes("!")) {
password += "!"
}
return password
解説
この実装で、どんな文字列が入力されても 魔法のパスワードのルールに従って変換 できます! 🔥✨
- trim() を使い、先頭と末尾のスペースを削除 する。
- 文字列が空の場合 は "!" を返す(空のパスワードも変換可能にするため)。
- password[0].toUpperCase() を使い、最初の文字を大文字に変換 する。
- replace(/\d/g, "*") で すべての数字を * に置き換える。
- replace(/\s/g, "") で スペースをすべて削除する。
- "!" が含まれていなければ、最後に追加する。
0 件のコメント:
コメントを投稿