diff --git a/3sum/mkwkw.cpp b/3sum/mkwkw.cpp new file mode 100644 index 000000000..d82f78531 --- /dev/null +++ b/3sum/mkwkw.cpp @@ -0,0 +1 @@ +//set-up diff --git a/climbing-stairs/mkwkw.cpp b/climbing-stairs/mkwkw.cpp new file mode 100644 index 000000000..13a385f62 --- /dev/null +++ b/climbing-stairs/mkwkw.cpp @@ -0,0 +1,20 @@ +//Dynamic Programming +//dp[n] = dp[n-1]+dp[n-2] +class Solution { +public: + int climbStairs(int n) { + int dp[46]; + + dp[0] = 0; + dp[1] = 1; + dp[2] = 2; + + for(int i=3; i<=n; i++) + { + dp[i] = dp[i-1]+dp[i-2]; + } + + return dp[n]; + + } +}; diff --git a/product-of-array-except-self/mkwkw.cpp b/product-of-array-except-self/mkwkw.cpp new file mode 100644 index 000000000..a9ff919f3 --- /dev/null +++ b/product-of-array-except-self/mkwkw.cpp @@ -0,0 +1 @@ +//set-up diff --git a/valid-anagram/mkwkw.cpp b/valid-anagram/mkwkw.cpp new file mode 100644 index 000000000..31ac709b5 --- /dev/null +++ b/valid-anagram/mkwkw.cpp @@ -0,0 +1,37 @@ +//map: key:alphabet, value:count +//if t is an anagram of s +// 1. same length +// 2. same content of map +class Solution { +public: + bool isAnagram(string s, string t) { + + //1. different length -> false + if(s.length()!=t.length()) + { + return false; + } + + //2. different map -> false + map sMap, tMap; + for(int i=0; i productExceptSelf(vector& nums) { + + vector answer(nums.size(), 1); + //production before nums[i] from index 0 + int before = 1; + + for(int i=0; i0; i--) + { + after *= nums[i]; + answer[i-1] *= after; + } + + return answer; + } +}; + + + +//using division operation +/* +class Solution { +public: + vector productExceptSelf(vector& nums) { + int zeroCnt = 0; + int allProduct = 1; + vector answer(nums.size()); + + for(int i=0; i