Skip to content

Commit 7e3bbb5

Browse files
authored
Merge pull request #2371 from ykim7/main
[ykim7] WEEK 01 solutions
2 parents b7c1554 + 1b514fc commit 7e3bbb5

2 files changed

Lines changed: 40 additions & 0 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Input: number[]
2+
// Output: boolean
3+
4+
// ๋ฐฐ์—ด์€ sorting๋˜์–ด ์žˆ์ง€ ์•Š์Œ.
5+
// Idea 1 : ์ด์ค‘ for loop์œผ๋กœ ๋ชจ๋“  ๊ฐ’ ๋น„๊ต - O(n^2)
6+
// Idea 2 : nums๋ฅผ sort ํ•œ ํ›„ ์•ž์—์„œ๋ถ€ํ„ฐ ๋‘๊ฐœ์”ฉ ๋น„๊ต. ์ •๋ ฌ - O(nlogn)
7+
// Idea 3 : Hash table ๋กœ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ์ €์žฅ. O(n) ๊ฒ€์ƒ‰ O(1) - O(n)
8+
9+
const found_num = new Set();
10+
11+
for (let i = 0; i < nums.length; i++) {
12+
if (found_num.has(nums[i])) {
13+
return true;
14+
} else {
15+
found_num.add(nums[i]);
16+
}
17+
}
18+
return false;

โ€Žtwo-sum/ykim7.jsโ€Ž

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// input: array of integers [2,7,11,5], integer 9
2+
// output: indices [0,1]
3+
4+
// ๋ชจ๋“  ๋ฐฐ์—ด์˜ ์Œ์„ ํ™•์ธํ•˜๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(n * n)์ด ๋จ.
5+
// ๋ฐฐ์—ด์˜ ์š”์†Œ์™€ ์ธ๋ฑ์Šค๋ฅผ ํ•จ๊ป˜ ์ €์žฅ.
6+
7+
var twoSum = function (nums, target) {
8+
const indices = {};
9+
for (let i = 0; i < nums.length; i++) {
10+
indices[nums[i]] = i;
11+
}
12+
13+
for (let i = 0; i < nums.length; i++) {
14+
let remainder = target - nums[i];
15+
if (indices[remainder] !== undefined && indices[remainder] !== i) {
16+
return [i, indices[remainder]];
17+
}
18+
}
19+
};
20+
21+
// Time Complexity: O(n) + O(n) = O(n)
22+
// Space Complexiy: O(n)

0 commit comments

Comments
ย (0)