From 9632de2392deddf744e4ab891d09ab7553fc7171 Mon Sep 17 00:00:00 2001 From: Ana Resende Date: Tue, 10 Aug 2021 00:22:27 +0100 Subject: [PATCH 1/4] lab js basic algorithms --- js/index.js | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/js/index.js b/js/index.js index dd8ff0062..4ec6cf07a 100644 --- a/js/index.js +++ b/js/index.js @@ -1,7 +1,68 @@ // Iteration 1: Names and Input - +let hacker1 = "Jane" +let hacker2 = "Tarzan" +console.log(`The driver's name is ${hacker1}.`) +console.log(`The navigator's name is ${hacker2}.`) // Iteration 2: Conditionals +// 2.1 + +if(hacker1.length > hacker2.length){ + console.log(`The driver has the longest name, it has ${hacker1.length} characters.`) +} else if(hacker1.length < hacker2.length){ + console.log(`The navigator has the longest name, it has ${hacker2.length} characters.`) +} else if(hacker1.length === hacker2.length){ + console.log(`Wow, you both have equally long names, ${hacker2.length} characters!`) +} + +// Iteration 3: Loops + +// 3.1 +let spacedName = "" +for (let i = 0; i <= hacker1.length; i++){ + spacedName += hacker1.charAt(i).toUpperCase() + " "; +} +console.log(spacedName) + + +// 3.2 +let reversedName = "" +for (let i = hacker2.length - 1 ; i > -1; i--){ + reversedName += hacker2[i] +} +console.log(reversedName); + + +// 3.3 +// I can't resolve this exercise using a loop, so I did it using a conditional - hope this is fine ! + + +if (hacker1 < hacker2){ + console.log("The driver's name goes first"); +} else if (hacker1 > hacker2){ + console.log("Yo, the navigator goes first definitely."); +} else if (hacker1 === hacker2){ + console.log("What?! You both have the same name?"); +} + +// BONUS #1 // + +let latinString ="Integer nibh ex, fringilla nec velit a, blandit feugiat neque. Suspendisse sit amet vestibulum turpis. Pellentesque mollis pretium varius. Sed placerat a turpis vel consectetur. Pellentesque ultricies elit non aliquam porttitor. Morbi ut dolor nunc. Nullam pharetra diam vitae ex dictum sodales. Sed lorem massa, efficitur non pulvinar ut, dictum a metus. Nunc placerat tellus mi. Maecenas suscipit ultricies dolor. Integer et erat magna. Quisque felis est, ultrices non mauris vitae, volutpat vehicula urna. Morbi euismod rhoncus porttitor. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed dapibus enim in felis dapibus vulputate. Sed sit amet elit a eros tincidunt pharetra sed eget velit. Nulla ut congue mi. Nulla nec mollis leo, eu cursus leo. Nulla bibendum nibh sed sollicitudin finibus. Pellentesque aliquet efficitur urna ac pharetra. Donec eu fringilla nulla, non accumsan libero. Donec nec risus vitae purus dapibus sollicitudin ut in nisl. Suspendisse congue rhoncus massa non lobortis. Sed sem diam, ultrices volutpat ultricies in, placerat at elit. Pellentesque accumsan, diam ac vulputate suscipit, elit mi congue nisi, eget malesuada est nulla id nibh. Praesent non dapibus purus. Vivamus quis nibh sed lectus vulputate mollis. Aenean ut accumsan erat. Etiam nec sem vitae nunc laoreet feugiat vel at nunc. Donec dui neque, facilisis quis interdum quis, tincidunt a turpis. Nam eleifend sit amet elit pretium porttitor. Nunc feugiat diam enim, vitae pellentesque urna iaculis eu. Maecenas convallis aliquam quam, eu rhoncus dolor. Donec sit amet tortor quis purus bibendum lobortis non sit amet augue. Praesent interdum metus metus, at fringilla mauris cursus volutpat. Cras tincidunt nisl ex, non suscipit sem porta vitae. Pellentesque lacinia metus id ex dictum, vel sollicitudin enim mattis. Cras eget venenatis nunc. Sed eu consectetur ex. Aliquam odio orci, volutpat imperdiet ultricies ut, tempus non velit. Sed viverra tortor non sapien tempus tincidunt. Curabitur ornare porttitor interdum. Integer blandit purus enim, nec scelerisque nibh tristique vitae." + +let wordsAllParagraphs = latinString.split(' ').length + +console.log(wordsAllParagraphs) + +let numberOfEt = latinString.split(" et ").length - 1; + +console.log(numberOfEt) + +// BONUS #2 // + +let phraseToCheck = " " -// Iteration 3: Loops \ No newline at end of file +for (let i = hacker2.length - 1 ; i > -1; i--){ + reversedName += hacker2[i] +} +console.log(reversedName); \ No newline at end of file From 14df55cd347325fe14f2425f7a653019d42fc411 Mon Sep 17 00:00:00 2001 From: Ana Resende Date: Tue, 10 Aug 2021 00:27:08 +0100 Subject: [PATCH 2/4] cleanup --- js/index.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/js/index.js b/js/index.js index 4ec6cf07a..45631f16e 100644 --- a/js/index.js +++ b/js/index.js @@ -58,11 +58,3 @@ let numberOfEt = latinString.split(" et ").length - 1; console.log(numberOfEt) -// BONUS #2 // - -let phraseToCheck = " " - -for (let i = hacker2.length - 1 ; i > -1; i--){ - reversedName += hacker2[i] -} -console.log(reversedName); \ No newline at end of file From 28d939291790a0f0bae7dad79a964a3c0a2472f8 Mon Sep 17 00:00:00 2001 From: Ana Resende Date: Tue, 10 Aug 2021 13:45:35 +0100 Subject: [PATCH 3/4] add bonus #2 solution --- js/index.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/js/index.js b/js/index.js index 45631f16e..13578bc0c 100644 --- a/js/index.js +++ b/js/index.js @@ -1,6 +1,6 @@ // Iteration 1: Names and Input let hacker1 = "Jane" -let hacker2 = "Tarzan" +let hacker2 = "jana" console.log(`The driver's name is ${hacker1}.`) console.log(`The navigator's name is ${hacker2}.`) @@ -58,3 +58,30 @@ let numberOfEt = latinString.split(" et ").length - 1; console.log(numberOfEt) +// BONUS #2 // + +let palindrome = "put it up" +let joinedPhrase = "" + + for (let i = 0; i < palindrome.length; i++){ + if (palindrome[i] !== " " && palindrome[i] !== "," && palindrome[i] !== "!" && palindrome[i] !== "?"){ + joinedPhrase += palindrome[i].toLowerCase(); + } + } + + console.log(joinedPhrase) + + let isPalindrome = ""; + + for(let i = 0; i< joinedPhrase.length / 2; i++) { + if(joinedPhrase[i] === joinedPhrase[joinedPhrase.length - 1 - i]) { + isPalindrome = "is Palindrome!! :)" + + } else { + isPalindrome = "is not Palindrome!! :(" + break; + } + } + + console.log(isPalindrome) + From c874a363728039e8f5673cb19efb04545c226eee Mon Sep 17 00:00:00 2001 From: Ana Resende Date: Tue, 10 Aug 2021 14:39:00 +0100 Subject: [PATCH 4/4] bonus#2 --- js/index.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/js/index.js b/js/index.js index 13578bc0c..72a407fec 100644 --- a/js/index.js +++ b/js/index.js @@ -1,6 +1,6 @@ // Iteration 1: Names and Input -let hacker1 = "Jane" -let hacker2 = "jana" +let hacker1 = "Tarzan" +let hacker2 = "Jane" console.log(`The driver's name is ${hacker1}.`) console.log(`The navigator's name is ${hacker2}.`) @@ -23,7 +23,7 @@ let spacedName = "" for (let i = 0; i <= hacker1.length; i++){ spacedName += hacker1.charAt(i).toUpperCase() + " "; } -console.log(spacedName) +console.log(spacedName.trim()) // 3.2 @@ -46,6 +46,9 @@ if (hacker1 < hacker2){ console.log("What?! You both have the same name?"); } + + + // BONUS #1 // let latinString ="Integer nibh ex, fringilla nec velit a, blandit feugiat neque. Suspendisse sit amet vestibulum turpis. Pellentesque mollis pretium varius. Sed placerat a turpis vel consectetur. Pellentesque ultricies elit non aliquam porttitor. Morbi ut dolor nunc. Nullam pharetra diam vitae ex dictum sodales. Sed lorem massa, efficitur non pulvinar ut, dictum a metus. Nunc placerat tellus mi. Maecenas suscipit ultricies dolor. Integer et erat magna. Quisque felis est, ultrices non mauris vitae, volutpat vehicula urna. Morbi euismod rhoncus porttitor. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed dapibus enim in felis dapibus vulputate. Sed sit amet elit a eros tincidunt pharetra sed eget velit. Nulla ut congue mi. Nulla nec mollis leo, eu cursus leo. Nulla bibendum nibh sed sollicitudin finibus. Pellentesque aliquet efficitur urna ac pharetra. Donec eu fringilla nulla, non accumsan libero. Donec nec risus vitae purus dapibus sollicitudin ut in nisl. Suspendisse congue rhoncus massa non lobortis. Sed sem diam, ultrices volutpat ultricies in, placerat at elit. Pellentesque accumsan, diam ac vulputate suscipit, elit mi congue nisi, eget malesuada est nulla id nibh. Praesent non dapibus purus. Vivamus quis nibh sed lectus vulputate mollis. Aenean ut accumsan erat. Etiam nec sem vitae nunc laoreet feugiat vel at nunc. Donec dui neque, facilisis quis interdum quis, tincidunt a turpis. Nam eleifend sit amet elit pretium porttitor. Nunc feugiat diam enim, vitae pellentesque urna iaculis eu. Maecenas convallis aliquam quam, eu rhoncus dolor. Donec sit amet tortor quis purus bibendum lobortis non sit amet augue. Praesent interdum metus metus, at fringilla mauris cursus volutpat. Cras tincidunt nisl ex, non suscipit sem porta vitae. Pellentesque lacinia metus id ex dictum, vel sollicitudin enim mattis. Cras eget venenatis nunc. Sed eu consectetur ex. Aliquam odio orci, volutpat imperdiet ultricies ut, tempus non velit. Sed viverra tortor non sapien tempus tincidunt. Curabitur ornare porttitor interdum. Integer blandit purus enim, nec scelerisque nibh tristique vitae."