Skip to content

Commit cd5f9f7

Browse files
authored
Merge pull request #1239 from froggy1014/main
[froggy1014] WEEK 02 solutions
2 parents aa151cd + 41f23d7 commit cd5f9f7

File tree

3 files changed

+58
-0
lines changed

3 files changed

+58
-0
lines changed

climbing-stairs/froggy1014.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* @param {number} n
3+
* @return {number}
4+
*/
5+
var climbStairs = function(n) {
6+
if (n === 1) return 1;
7+
if (n === 2) return 2;
8+
9+
let dp = new Array(n + 1).fill(0);
10+
dp[1] = 1;
11+
dp[2] = 2;
12+
for (let i = 3; i <= n; i++) {
13+
dp[i] = dp[i - 1] + dp[i - 2];
14+
}
15+
return dp[n];
16+
};
17+
18+
19+
console.log(climbStairs(4));
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number[]}
4+
*/
5+
var productExceptSelf = function (nums) {
6+
const array = new Array(nums.length).fill(1);
7+
8+
for (let i = 1; i < nums.length; i++) {
9+
array[i] = array[i - 1] * nums[i - 1];
10+
}
11+
12+
let right = 1;
13+
for (let i = nums.length - 1; i >= 0; i--) {
14+
array[i] = array[i] * right;
15+
right *= nums[i];
16+
}
17+
18+
return array;
19+
};
20+
21+
console.log(productExceptSelf([1, 2, 3, 4]));

valid-anagram/froggy1014.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
// 맵 자료 구조를 통해서 각 문자의 개수를 카운트 해서 비교
3+
var isAnagram = function (s, t) {
4+
const map = new Map();
5+
6+
for (let i = 0; i < s.length; i++) {
7+
map.set(s[i], (map.get(s[i]) || 0) + 1);
8+
}
9+
10+
for (let i = 0; i < t.length; i++) {
11+
map.set(t[i], (map.get(t[i]) || 0) - 1);
12+
}
13+
14+
return Array.from(map.values()).every((value) => value === 0);
15+
};
16+
17+
console.log(isAnagram("anagram", "nagaram"));
18+
console.log(isAnagram("rat", "car"));

0 commit comments

Comments
 (0)