Skip to content

Instantly share code, notes, and snippets.

@alt-j

alt-j/task.js Secret

Created April 3, 2019 07:42
Show Gist options
  • Save alt-j/9d5f1a5cffcd702f5ac678616ca8bb51 to your computer and use it in GitHub Desktop.
Save alt-j/9d5f1a5cffcd702f5ac678616ca8bb51 to your computer and use it in GitHub Desktop.
secret message 2
module.exports = function (data1, data2, maxLength) {
sortByCoordinates(data1);
sortByCoordinates(data1);
var firstMessage = [];
var secondMessage = [];
for (var i = 0; i < data1.length; i++) {
firstMessage.push(data1[i].part1);
}
for (var i = 0; i < data2.length; i++) {
secondMessage.push(data2[i].part1);
}
var mergedData = data1.concat(data2);
var thirdMessage = [];
sortByCoordinates(mergedData);
for (var i = 0; i < mergedData.length; i++) {
thirdMessage.push(mergedData.part2);
}
var error = 'Message is too long';
return [
firstMessage.length > maxLength ? error : firstMessage.join(' '),
secondMessage.length > maxLength ? error : secondMessage.join(' '),
thirdMessage.length > maxLength ? error : thirdMessage.join(' ')
];
};
function sortByCoordinates(arr) {
for (var i = 0, endI = arr.length - 1; i < endI; i++) {
for (var j = 0, endJ = endI - i; j < endJ; j++) {
if (arr[j].geometry[0] > arr[j + 1].geometry[0]) {
arr[j] = arr[j + 1];
arr[j + 1] = arr[j];
}
}
}
return arr;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment