commit 91519e362bc788726d612a54f7581c23b0db711c
parent 9718ac04be30e364279b5b84b84aecc9cdcfd4f4
Author: Andrew Laack <andrew@laack.co>
Date: Sat, 22 Aug 2026 11:52:30 -0500
More problems
Diffstat:
3 files changed, 58 insertions(+), 0 deletions(-)
diff --git a/check-divisibility-by-digit-sum-and-product/check-divisibility-by-digit-sum-and-product.py b/check-divisibility-by-digit-sum-and-product/check-divisibility-by-digit-sum-and-product.py
@@ -0,0 +1,16 @@
+class Solution:
+ def checkDivisibility(self, n: int) -> bool:
+ digits = list(str(n))
+
+ sum = 0
+ product = 1
+
+ for digit in digits:
+ current = int(digit)
+ sum += current
+ product *= current
+
+ if n % (product + sum) == 0:
+ return True
+
+ return False
diff --git a/two-sums/two-sumsV2.py b/two-sums/two-sumsV2.py
@@ -0,0 +1,12 @@
+class Solution:
+ def twoSum(self, nums: List[int], target: int) -> List[int]:
+
+ num_dict = {}
+
+ for i in range(len(nums)):
+ num_dict[nums[i]] = i
+
+ for i in range(len(nums)):
+ current = nums[i]
+ if (target - current) in num_dict and num_dict[target - current] != i:
+ return [i, num_dict[target-current]]
diff --git a/valid-parenthesis/valid-parenthesisV2.cpp b/valid-parenthesis/valid-parenthesisV2.cpp
@@ -0,0 +1,30 @@
+class Solution {
+public:
+ bool isValid(string s) {
+ vector<char> stack = {};
+
+ unordered_map<char, char> mapping = {
+ {'(', ')'},
+ {'{', '}'},
+ {'[', ']'}
+ };
+
+ for (char value: s) {
+ if(mapping.find(value) != mapping.end()){
+ stack.push_back(value);
+ }
+ else {
+
+ if (stack.size() == 0) return false;
+
+ char lastOpening = stack.back();
+ stack.pop_back();
+
+ if (mapping[lastOpening] != value) return false;
+
+ }
+ }
+
+ return stack.size() == 0;
+ }
+};