2.2 KiB
2.2 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
596e457071c35c882915b3e4 | Confronta un elenco di stringhe | 5 | 302235 | compare-a-list-of-strings |
--description--
Data una lista di un numero arbitrario di stringhe, implementa una funzione per ognuna delle seguenti condizioni:
- testa se sono tutte lessicamente uguali
- testa se ogni stringa è lessicamente inferiore di quella successiva (cioè se la lista è in ordine ascendente)
--hints--
allEqual
dovrebbe essere una funzione.
assert(typeof allEqual === 'function');
azSorted
dovrebbe essere una funzione.
assert(typeof azSorted === 'function');
allEqual(["AA", "AA", "AA", "AA"])
dovrebbe restituire true.
assert(allEqual(testCases[0]));
azSorted(["AA", "AA", "AA", "AA"])
dovrebbe restituire false.
assert(!azSorted(testCases[0]));
allEqual(["AA", "ACB", "BB", "CC"])
dovrebbe restituire false.
assert(!allEqual(testCases[1]));
azSorted(["AA", "ACB", "BB", "CC"])
dovrebbe restituire true.
assert(azSorted(testCases[1]));
allEqual([])
dovrebbe restituire true.
assert(allEqual(testCases[2]));
azSorted([])
dovrebbe restituire true.
assert(azSorted(testCases[2]));
allEqual(["AA"])
dovrebbe restituire true.
assert(allEqual(testCases[3]));
azSorted(["AA"])
dovrebbe restituire true.
assert(azSorted(testCases[3]));
allEqual(["BB", "AA"])
dovrebbe restituire false.
assert(!allEqual(testCases[4]));
azSorted(["BB", "AA"])
dovrebbe restituire 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;
}