Skip to content

Commit d9b42e7

Browse files
authored
Merge pull request DaleStudy#360 from JEONGHWANMIN/main
[ํ™˜๋ฏธ๋‹ˆ๋‹ˆ] WEEK 2 Solution
2 parents a5dbbde + d2aa85f commit d9b42e7

File tree

3 files changed

+63
-0
lines changed

3 files changed

+63
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// ์‹œ๊ฐ„๋ณต์žก๋„: O(n2)
2+
// ๊ณต๊ฐ„๋ณต์žก๋„: O(n)
3+
4+
var buildTree = function(preorder, inorder) {
5+
if (!preorder.length || !inorder.length) return null;
6+
7+
const root = new TreeNode(preorder[0]);
8+
const mid = inorder.indexOf(root.val);
9+
10+
root.left = buildTree(preorder.slice(1, mid + 1), inorder.slice(0, mid));
11+
root.right = buildTree(preorder.slice(mid + 1), inorder.slice(mid + 1));
12+
13+
return root;
14+
};

โ€Žcounting-bits/hwanmini.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// ์‹œ๊ฐ„๋ณต์žก๋„ O(n * log n)
2+
// ๊ณต๊ฐ„๋ณต์žก๋„ O(n)
3+
4+
/**
5+
* @param {number} n
6+
* @return {number[]}
7+
*/
8+
var countBits = function(n) {
9+
const result = []
10+
11+
for (let i = 0 ; i <= n; i++) {
12+
const binaryNumber = i.toString(2)
13+
const oneLength = binaryNumber.replaceAll('0','').length
14+
15+
result.push(oneLength)
16+
}
17+
18+
return result
19+
};
20+
21+
console.log(countBits(5))

โ€Žvalid-anagram/hwanmini.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// ์‹œ๊ฐ„๋ณต์žก๋„: O(n)
2+
// ๊ณต๊ฐ„๋ณต์žก๋„: O(k)
3+
4+
/**
5+
* @param {string} s
6+
* @param {string} t
7+
* @return {boolean}
8+
*/
9+
var isAnagram = function(s, t) {
10+
if (s.length !== t.length) return false
11+
12+
const checkMap = new Map();
13+
14+
for (let i = 0; i < s.length; i++) {
15+
checkMap.set(s[i], (checkMap.get(s[i]) || 0) + 1)
16+
}
17+
18+
19+
for (let j = 0; j < t.length; j++) {
20+
if (!checkMap.get(t[j]) || checkMap.get(t[j]) < 0) return false
21+
checkMap.set(t[j], (checkMap.get(t[j]) || 0 ) - 1);
22+
}
23+
24+
return true
25+
};
26+
27+
28+
console.log(isAnagram("anagram","nagaram"))

0 commit comments

Comments
ย (0)