Day 20 / 30 – JavaScript Coding Challenge Today’s problem: Length of Last Word Problem: Given a string containing words and spaces, return the length of the last word. Solution: var lengthOfLastWord = function (s) { let count = 0; let i = s.length - 1; while (i >= 0 && s[i] === " ") { i--; } while (i >= 0 && s[i] !== " ") { i--; count++; } return count; }; #JavaScript #DSA #CodingPractice #100DaysOfCode #ProblemSolving #FrontendDevelopment
JavaScript Last Word Length Solution
More Relevant Posts
-
Day 19 / 30 – JavaScript Coding Challenge Problem: Given two strings, needle and haystack, return the index of the first occurrence of needle in haystack, or -1 if it doesn’t exist. Solution: var strStr = function (haystack, needle) { if (needle.length === 0) return -1 for (let i = 0; i <= haystack.length - needle.length; i++) { let found = true; for (let j = 0; j < needle.length; j++) { if (haystack[i + j] !== needle[j]) { found = false; break; } } if (found) { return i } } return -1; }; #JavaScript #DSA #CodingPractice #100DaysOfCode #ProblemSolving #FrontendDevelopment
To view or add a comment, sign in
-
-
Day 10 / 30 - Javascript Coding Challenge Problem: Given an array of functions [f1, f2, f3, ..., fn], return a new function fn that is the function composition of the array of functions. The function composition of [f(x), g(x), h(x)] is fn(x) = f(g(h(x))). The function composition of an empty list of functions is the identity function f(x) = x. You may assume each function in the array accepts one integer as input and returns one integer as output. Solution: var compose = function (functions) { return function (x) { let sum = x; for (let k = functions.length - 1; k >= 0; k--) { sum = functions[k](sum) } return sum } }; #JavaScript #FunctionalProgramming #DSA #CodingPractice #100DaysOfCode #FrontendDevelopment
To view or add a comment, sign in
-
-
Day 9 / 30 - Javascript Coding Problem: Given an integer array nums, a reducer function fn, and an initial value init, return the final result obtained by executing the fn function on each element of the array, sequentially, passing in the return value from the calculation on the preceding element. This result is achieved through the following operations: val = fn(init, nums[0]), val = fn(val, nums[1]), val = fn(val, nums[2]), ... until every element in the array has been processed. The ultimate value of val is then returned. If the length of the array is 0, the function should return init. Please solve it without using the built-in Array.reduce method. Solution: var reduce = function (nums, fn, init) { let numsLength = nums?.length; if (numsLength === 0) { return init; } let acc = init; for (let k = 0; k < numsLength; k++) { acc = fn(acc, nums[k]); } return acc; }; #JavaScript #DSA #CodingPractice #100DaysOfCode #FrontendDevelopment #ProblemSolving
To view or add a comment, sign in
-
-
Day 6 / 30 - JavaScript Coding Practice Today’s problem: Roman to Integer var romanToInt = function (s) { if (s.length > 15) { return; } const romanMap = new Map([ ['I', 1], ['V', 5], ['X', 10], ['L', 50], ['C', 100], ['D', 500], ['M', 1000] ]); let sum = 0; let preValue = 0; for (let k = s.length - 1; k >= 0; k--) { let currentVal = romanMap.get(s[k]); if (currentVal < preValue) { sum -= currentVal; } else { sum += currentVal; } preValue = currentVal; } return sum; }; 💡 Key Insight: Instead of scanning from left to right, I iterated from right to left to easily handle subtraction cases like IV (4) and IX (9). 👉 If a smaller value comes before a larger one → subtract 👉 Otherwise → add #JavaScript #DSA #CodingPractice #ProblemSolving #100DaysOfCode #FrontendDevelopment
To view or add a comment, sign in
-
-
Day 17 / 30 – JavaScript Coding Challenge Problem: Remove duplicates in-place from a sorted array and return the count of unique elements. Solution: var removeDuplicates = function (nums) { if (nums.length === 0) return 0; let i = 0; for (let j = 0; j < nums.length; j++) { if (nums[j] !== nums[i]) { i++; nums[i] = nums[j]; } } return i + 1; }; #JavaScript #DSA #CodingPractice #100DaysOfCode #ProblemSolving #FrontendDevelopment
To view or add a comment, sign in
-
-
Day 15 / 30 - Javascript Coding practice Problem : Longest Common Prefix Find the longest common prefix among an array of strings. If there’s no common prefix, return an empty string "". Solution: var longestCommonPrefix = function (strs) { let longestStr = strs[0] for (let k = 1; k < strs.length; k++) { let j = 0; while (j < strs[k].length && j < longestStr.length && strs[k][j] === longestStr[j]) { j++; } longestStr = longestStr.slice(0, j) if (longestStr === "") return "" } return longestStr; }; #JavaScript #DSA #CodingPractice #100DaysOfCode #ProblemSolving #FrontendDevelopment
To view or add a comment, sign in
-
-
🚀 Day 4 of my JavaScript Coding Practice Today’s problem: Two Sum var twoSum = function(nums, target) { const map = new Map(); // Store: { value : index } for (let i = 0; i < nums.length; i++) { const complement = target - nums[i]; // If the needed number is already in our map, we found the pair! if (map.has(complement)) { return [map.get(complement), i]; } // Otherwise, save the current number and its index map.set(nums[i], i); } return []; // Return empty if no pair is found }; 💡 Instead of using brute force (O(n²)), I used a HashMap approach to solve it in O(n) time. Key takeaway: Understanding how to trade space for time can significantly optimize performance. Small steps every day → Big improvements over time 📈 #JavaScript #DSA #CodingPractice #100DaysOfCode #FrontendDevelopment
To view or add a comment, sign in
-
-
One small word in JavaScript causes a lot of confusion: undefined. Many developers encounter it but don’t fully understand why it appears. In my latest article, I break it down in a practical way: • What undefined actually means • Common scenarios where it shows up • Mistakes developers often make • How to avoid it in real projects This is especially useful if you're learning JavaScript or improving your debugging skills. 🔗 Read the full article: https://lnkd.in/gaGDuAHp Curious — what was the most confusing JavaScript concept for you when you started? #JavaScript #WebDevelopment #FrontendDevelopment #Programming #Coding #SoftwareDevelopment #Debugging #LearnJavaScript
To view or add a comment, sign in
-
Hello Connections! 👋 This JavaScript trick confuses 90% of beginners — will you get it right? console.log("5" - 2); // ? console.log("5" + 2); // ? Most people expect similar behavior… but JavaScript has other plans 😅 Let’s break it down: 👉 "5" - 2 JavaScript converts "5" (string) into a number automatically Result: 3 👉 "5" + 2 Here, + acts as string concatenation, not addition Result: "52" 💡 Why does this happen? Because of Type Coercion in JavaScript: - ➝ forces numeric conversion + ➝ prefers string concatenation if one operand is a string Real Lesson: JavaScript is powerful… but also tricky. If you don’t understand type coercion, bugs will find you before you find them. 😄 📌 Save this post — you’ll definitely face this in interviews or real projects. hashtag #JavaScript #JS #FrontendDevelopment #CodingTips #Programming #WebDevelopment #CodeNewbie #TechLearning #InterviewPrep #DevelopersLife #python
To view or add a comment, sign in
-
-
🚀 Day 5 of my JavaScript Coding Practice Today’s challenge was all about understanding closures 🔥 Problem: Create a counter function that starts from a given number n and increments by 1 every time it’s called. var createCounter = function(n) { let increment = 0; return function () { let retCount = n + increment; increment++; return retCount; }; }; #JavaScript #Closures #DSA #CodingPractice #100DaysOfCode #FrontendDevelopment
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development