Files
2022-01-20 20:30:18 +01:00

2.3 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5e6dd14192286d95fc43046e 最長文字列チャレンジ 5 385275 longest-string-challenge

--description--

このチャレンジでは、与えられた文字列の中で最も長い文字列を見つけます。

--instructions--

文字列の配列を取り、長さが最長であるすべての文字列を返す関数を記述してください。

--hints--

longestString は関数とします。

assert(typeof longestString == 'function');

longestString(["a", "bb", "ccc", "ee", "f", "ggg"]) は配列を返す必要があります。

assert(Array.isArray(longestString(['a', 'bb', 'ccc', 'ee', 'f', 'ggg'])));

longestString(["a", "bb", "ccc", "ee", "f", "ggg"])["ccc", "ggg"] を返す必要があります。

assert.deepEqual(longestString(['a', 'bb', 'ccc', 'ee', 'f', 'ggg']), [
  'ccc',
  'ggg'
]);

longestString(["afedg", "bb", "sdccc", "efdee", "f", "geegg"])["afedg", "sdccc", "efdee", "geegg"] を返す必要があります。

assert.deepEqual(
  longestString(['afedg', 'bb', 'sdccc', 'efdee', 'f', 'geegg']),
  ['afedg', 'sdccc', 'efdee', 'geegg']
);

longestString(["a", "bhghgb", "ccc", "efde", "fssdrr", "ggg"])["bhghgb", "fssdrr"] を返す必要があります。

assert.deepEqual(
  longestString(['a', 'bhghgb', 'ccc', 'efde', 'fssdrr', 'ggg']),
  ['bhghgb', 'fssdrr']
);

longestString(["ahgfhg", "bdsfsb", "ccc", "ee", "f", "ggdsfg"])["ahgfhg", "bdsfsb", "ggdsfg"] を返す必要があります。

assert.deepEqual(
  longestString(['ahgfhg', 'bdsfsb', 'ccc', 'ee', 'f', 'ggdsfg']),
  ['ahgfhg', 'bdsfsb', 'ggdsfg']
);

longestString(["a", "bbdsf", "ccc", "edfe", "gzzzgg"])["gzzzgg"] を返す必要があります。

assert.deepEqual(longestString(['a', 'bbdsf', 'ccc', 'edfe', 'gzzzgg']), [
  'gzzzgg'
]);

--seed--

--seed-contents--

function longestString(strings) {

}

--solutions--

function longestString(strings) {
    var mx = 0;
    var result = []
    strings.forEach(function (e) {
        if (e.length > mx) {
            mx = e.length
            result = [e]
        } else if (e.length == mx)
            result.push(e)
    })

    return result
}