These include fairly simple algorithmic problems, each teaching you something new
https://github.com/100xdevs-cohort-3/assignments/blob/main/week-2/week-2-js/easy/anagram.js
toLowerCase
split
join
function isAnagram(str1, str2) {
if (str1.length !== str2.length) {
return false;a
}
const sortedStr1 = str1.toLowerCase().split('').sort().join('');
const sortedStr2 = str2.toLowerCase().split('').sort().join('');
return sortedStr1 === sortedStr2;
}
https://github.com/100xdevs-cohort-3/assignments/blob/main/week-2/week-2-js/easy/expenditure-analysis.js
function calculateTotalSpentByCategory(transactions) {
const categories = {};
transactions.forEach((transaction) => {
if (!categories[transaction.category]) {
categories[transaction.category] = 0;
}
categories[transaction.category] += transaction.price;
});
return Object.keys(categories).map((category) => ({
category,
totalSpent: categories[category],
}));
}
https://github.com/100xdevs-cohort-3/assignments/blob/main/week-2/week-2-js/easy/findLargestElement.js
Things to learn - nothing really
function findLargestElement(numbers) {
let largestElement = numbers[0];
for (let i = 1; i < numbers.length; i++) {
if (numbers[i] > largestElement) {
largestElement = numbers[i];
}
}
return largestElement;
}