Files

2.6 KiB
Raw Permalink Blame History

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;
}