Advertisement
alboig

Javascript Apr20 Module 0 - Task 02 ElMessg

Apr 3rd, 2020
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Електронно съобщение
  2. // На електронно табло на плажа на Слънчев бряг се извежда информация за времето и температурата на въздуха и водата.
  3. // Съобщенията съдържат малки и главни английски букви, цифри и интервали. В края на информацията се записва точка.
  4. // Всеки ден Слончето Лони се осведомява за метеорологичните условия от таблото.
  5. // Един ден то установило, че таблото е повредено и в съобщението има и други знаци, различни от обичайните.
  6. // Както винаги, то е любознателно и иска да разбере колко е най-дългата последователност от повредени знаци на таблото.
  7. // Помогнете му като напишете програма elmessage, която въвежда съобщението, изписано на таблото, и извежда колко е максималният брой последователни повредени знаци.
  8.  
  9. // Вход
  10. // На първия ред на стандартния вход се въвежда текст, който завършва с точка.
  11.  
  12. // Изход
  13. // На един ред на стандартния изход програмата трябва да изведе едно число – дължината на най-дългата последователност от повредени знаци (различни от букви, цифри и интервали).
  14.  
  15. // Ограничения
  16. // Точката винаги завършва съобщението и тя не се поврежда. В съобщението има точно една точка. Съобщението съдържа не повече от 1000 знака.
  17.  
  18. // Примертни тестове
  19. // Вход
  20. // Tempera#### na @#$ata 23 grad#%&.
  21. // Изход
  22. // 4
  23. const input = ['Tempera#### na @#$ata 23 grad#%&.'];
  24. const print = this.print || console.log;
  25. const gets = this.gets || ((arr, index) => () => arr[index++])(input, 0);
  26. const initialMessageArray = gets().split(' '); // create an array of all the words in the sentence
  27. const arrOfSymbols = []; // create a blank array in which we will store each of the special symbols in every word from the sentence
  28. for (let i = 0; i < initialMessageArray.length; i++) {
  29.   let lengthPerSymbol = 0; // create a variable which will store the length of each "special" string within a word in the sentence
  30.   for (let j = 0; j < initialMessageArray[i].length; j++) { // we use the below comparison based on the ASCII table, w3resource.com
  31.     if (((initialMessageArray[i].charCodeAt(j) >= 33) && (initialMessageArray[i].charCodeAt(j) <= 47) && (initialMessageArray[i].charCodeAt(j) !== 46)) || ((initialMessageArray[i].charCodeAt(j) >= 58) && (initialMessageArray[i].charCodeAt(j) <= 64)) || ((initialMessageArray[i].charCodeAt(j) >= 91) && (initialMessageArray[i].charCodeAt(j) <= 96)) || ((initialMessageArray[i].charCodeAt(j) >= 123) && (initialMessageArray[i].charCodeAt(j) <= 126))) {
  32.       lengthPerSymbol++;
  33.     }
  34.   }
  35.   arrOfSymbols.push(lengthPerSymbol);
  36. }
  37. let maxLength = arrOfSymbols[0]; // assign the maximum length of a string to the first word of the array
  38. for (let i = 0; i < arrOfSymbols.length; i++) {
  39.   if (maxLength <= arrOfSymbols[i]) {
  40.     maxLength = arrOfSymbols[i];
  41.   }
  42. }
  43. print(maxLength);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement