Skip to content

Commit d1d11ec

Browse files
authored
Merge pull request #2360 from Yu-Won/main
[Yu-Won] WEEK 01 solutions
2 parents 89398a1 + 1926e43 commit d1d11ec

5 files changed

Lines changed: 115 additions & 0 deletions

File tree

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* ๋ฌธ์ œ: https://leetcode.com/problems/contains-duplicate/
3+
*
4+
* ์š”๊ตฌ์‚ฌํ•ญ:
5+
* nums: number[]๋ฅผ Input ์œผ๋กœ ๋ฐ›์•˜์„ ๋•Œ
6+
* ์ค‘๋ณต๋œ ๊ฐ’์ด ์žˆ์„ ๊ฒฝ์šฐ true ์—†๋‹ค๋ฉด false ๋ฅผ ๋ฐ˜ํ™˜
7+
*
8+
* ํ•ด์‹œ๋งต ์ด์šฉ
9+
* */
10+
11+
const containsDuplicate = (nums) => {
12+
const set = new Set();
13+
14+
for(const num of nums) {
15+
if(set.has(num)) {
16+
return true;
17+
}
18+
set.add(num);
19+
}
20+
return false;
21+
22+
}

โ€Žhouse-robber/Yu-Won.jsโ€Ž

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* ๋ฌธ์ œ: https://leetcode.com/problems/house-robber/description/
3+
*
4+
* ์š”๊ตฌ์‚ฌํ•ญ:
5+
* nums: number[]๋ฅผ Input ์œผ๋กœ ๋ฐ›์•˜์„ ๋•Œ
6+
* ์ธ์ ‘ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋“ค์˜ ํ•ฉ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค.
7+
*
8+
* * */
9+
10+
const houseRobber = (nums) => {
11+
let prev1 = 0;
12+
let prev2 = 0;
13+
for(let i = 0; i < nums.length; i++) {
14+
let current = Math.max(nums[i] + prev2, prev1);
15+
prev2 = prev1;
16+
prev1 = current;
17+
}
18+
return prev1;
19+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* ๋ฌธ์ œ: https://leetcode.com/problems/longest-consecutive-sequence/description/
3+
*
4+
* ์š”๊ตฌ์‚ฌํ•ญ:
5+
* ์ •๋ ฌ๋˜์ง€ ์•Š์€ nums: number[]๋ฅผ Input ์œผ๋กœ ๋ฐ›์•˜์„ ๋•Œ
6+
* ๊ฐ€์žฅ ๊ธด ์—ฐ์†์œผ๋กœ ๋œ ๊ฐ’์˜ length ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
7+
* ๋‹จ O(n) ์ด์–ด์•ผํ•œ๋‹ค.
8+
*
9+
* * */
10+
11+
const longestConsecutive = (nums) => {
12+
const set = new Set(nums);
13+
let count = 0;
14+
15+
for(let num of set) {
16+
if(!set.has(num-1)) {
17+
let len = 1;
18+
19+
while (set.has(num+len)) {
20+
len++;
21+
}
22+
23+
count = Math.max(count, len);
24+
}
25+
}
26+
return count;
27+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* ๋ฌธ์ œ: https://leetcode.com/problems/top-k-frequent-elements/description/
3+
*
4+
* ์š”๊ตฌ์‚ฌํ•ญ:
5+
* nums: number[], k: number ๋ฅผ Input ์œผ๋กœ ๋ฐ›์•˜์„ ๋•Œ
6+
* ๊ฐ€์žฅ ๋นˆ๋„๊ฐ€ ๋†’์€ ๊ฐ’ k๊ฐœ์˜ ๊ฐ’์„ number[]๋กœ ๋ฆฌํ„ดํ•œ๋‹ค.
7+
*
8+
* * */
9+
10+
const topKFrequent = (nums, k) => {
11+
const map = new Map();
12+
13+
for(let i = 0; i < nums.length; i++) {
14+
const count = map.get(nums[i]) || 0;
15+
map.set(nums[i], count+1);
16+
}
17+
18+
const entries = [...map.entries()];
19+
entries.sort((a,b) => b[1]-a[1]);
20+
21+
return entries.slice(0,k).map((entry) => entry[0]);
22+
}

โ€Žtwo-sum/Yu-Won.jsโ€Ž

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* ๋ฌธ์ œ: https://leetcode.com/problems/two-sum/
3+
*
4+
* ์š”๊ตฌ์‚ฌํ•ญ:
5+
* nums: number[], target: number ๋ฅผ Input ์œผ๋กœ ๋ฐ›์•˜์„ ๋•Œ
6+
* nums์— ์žˆ๋Š” ๊ฐ’ ๋‘๊ฐœ๋ฅผ ๋”ํ–ˆ์„ ๋•Œ target ๊ณผ ์ •ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•˜๊ฒŒ ๋˜๋Š” ๊ฐ’์„ ๋งŒ๋“ค๊ฒŒ ๋˜๋Š” ์ธ๋ฑ์Šค ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค.
7+
*
8+
* ํ•ด์‹œ๋งต ์ด์šฉ
9+
* */
10+
11+
const twoSum = (nums, target) => {
12+
const map = new Map();
13+
14+
for(let i = 0; i < nums.length; i++) {
15+
const result = target - nums[i];
16+
17+
// ์ด๋ฏธ ๊ฐ’์ด ์žˆ์—ˆ๋‹ค๋ฉด ๋ฆฌํ„ด
18+
if(map.has(result)) {
19+
return [map.get(result), i];
20+
}
21+
22+
// ํ˜„์žฌ ๊ฐ’์„ ์ €์žฅ
23+
map.set(nums[i], i);
24+
}
25+
}

0 commit comments

Comments
ย (0)