2.6 KiB
2.6 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
596e457071c35c882915b3e4 | Порівняйте список рядків | 5 | 302235 | compare-a-list-of-strings |
--description--
Маючи список list з довільної кількості рядків, реалізуйте функцію для кожної з наступних умов:
- перевірте, чи всі вони лексично рівні
- перевірте, чи кожен рядок лексично менший за той, що після нього (тобто чи список у порядку зростання)
--hints--
allEqual
має бути функцією.
assert(typeof allEqual === 'function');
azSorted
має бути функцією.
assert(typeof azSorted === 'function');
Функція allEqual(["AA", "AA", "AA", "AA"])
має повернути true.
assert(allEqual(testCases[0]));
Функція azSorted(["AA", "AA", "AA", "AA"])
має повернути false.
assert(!azSorted(testCases[0]));
Функція allEqual(["AA", "ACB", "BB", "CC"])
має повернути false.
assert(!allEqual(testCases[1]));
Функція azSorted(["AA", "ACB", "BB", "CC"])
має повернути true.
assert(azSorted(testCases[1]));
Функція allEqual([])
має повернути true.
assert(allEqual(testCases[2]));
Функція azSorted([])
має повернути true.
assert(azSorted(testCases[2]));
Функція allEqual(["AA"])
має повернути true.
assert(allEqual(testCases[3]));
Функція azSorted(["AA"])
має повернути true.
assert(azSorted(testCases[3]));
Функція allEqual(["BB", "AA"])
має повернути false.
assert(!allEqual(testCases[4]));
Функція azSorted(["BB", "AA"])
має повернути false.
assert(!azSorted(testCases[4]));
--seed--
--after-user-code--
const testCases = [['AA', 'AA', 'AA', 'AA'], ['AA', 'ACB', 'BB', 'CC'], [], ['AA'], ['BB', 'AA']];
--seed-contents--
function allEqual(arr) {
return true;
}
function azSorted(arr) {
return true;
}
--solutions--
function allEqual(a) {
let out = true;
let i = 0;
while (++i < a.length) {
out = out && (a[i - 1] === a[i]);
} return out;
}
function azSorted(a) {
let out = true;
let i = 0;
while (++i < a.length) {
out = out && (a[i - 1] < a[i]);
} return out;
}