Skip to content

Commit a505514

Browse files
authored
Merge pull request #1146 from Moonjonghoo/main
[Moonjonghoo] WEEK 01 solutions
2 parents 3726ce4 + 33ae428 commit a505514

File tree

5 files changed

+91
-0
lines changed

5 files changed

+91
-0
lines changed

contains-duplicate/moonjonghoo.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {boolean}
4+
*/
5+
var containsDuplicate = function (nums) {
6+
let nums_length = nums.length;
7+
let hash = new Set(nums);
8+
let hash_legnth = hash.size;
9+
return nums_length === hash_legnth ? false : true;
10+
};
11+
12+
containsDuplicate([1, 2, 3, 1]);

house-robber/moonjonghoo.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
var rob = function (nums) {
2+
const n = nums.length;
3+
if (n === 0) return 0;
4+
if (n === 1) return nums[0];
5+
6+
let dp = new Array(n).fill(0);
7+
dp[0] = nums[0];
8+
dp[1] = Math.max(nums[0], nums[1]);
9+
10+
for (let i = 2; i < n; i++) {
11+
dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]);
12+
}
13+
14+
return dp[n - 1];
15+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
var longestConsecutive = function (nums) {
2+
const Set = new Set(nums);
3+
let maxLength = 0;
4+
5+
for (let num of Set) {
6+
if (!Set.has(num - 1)) {
7+
let currentNum = num;
8+
let count = 1;
9+
10+
// 연속된 숫자 탐색
11+
while (Set.has(currentNum + 1)) {
12+
currentNum++;
13+
count++;
14+
}
15+
16+
maxLen = Math.max(maxLength, count);
17+
}
18+
}
19+
20+
return maxLength;
21+
};
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} k
4+
* @return {number[]}
5+
*/
6+
var topKFrequent = function (nums, k) {
7+
let map = new Map();
8+
9+
for (let num of nums) {
10+
map.set(num, (map.get(num) || 0) + 1);
11+
}
12+
13+
let freqArr = Array.from(map.entries());
14+
freqArr.sort((a, b) => b[1] - a[1]);
15+
16+
let result = [];
17+
for (let i = 0; i < k; i++) {
18+
result.push(freqArr[i][0]);
19+
}
20+
21+
return result;
22+
};
23+
24+
topKFrequent([1, 1, 1, 2, 2, 3], 2);
25+
topKFrequent([1], 1);

two-sum/moonjonghoo.js

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {number[]}
5+
*/
6+
var twoSum = function (nums, target) {
7+
let map = new Map();
8+
for (let i = 0; i < nums.length; i++) {
9+
const complement = target - nums[i];
10+
if (map.has(complement)) {
11+
retuirn[(map.get(complement), i)];
12+
}
13+
map.set(nums[i], i);
14+
}
15+
};
16+
17+
console.log(twoSum([2, 7, 11, 15], 9));
18+
console.log(twoSum([3, 2, 4], 6));

0 commit comments

Comments
 (0)