Skip to content

Commit

Permalink
Merge pull request #509 from JEONGHWANMIN/main
Browse files Browse the repository at this point in the history
[환미니니] 8주차 문제풀이 제출
  • Loading branch information
JEONGHWANMIN authored Oct 5, 2024
2 parents ad69c40 + a4473c8 commit e0acb77
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 0 deletions.
39 changes: 39 additions & 0 deletions clone-graph/hwanmini.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// 노드 수 v, 간선 e
// 시간복잡도 O(v+e)
// 공간복잡도 O(v+e)

/**
* // Definition for a _Node.
* function _Node(val, neighbors) {
* this.val = val === undefined ? 0 : val;
* this.neighbors = neighbors === undefined ? [] : neighbors;
* };
*/

/**
* @param {_Node} node
* @return {_Node}
*/
var cloneGraph = function(node) {
if (!node) return

const visited = new Map()
visited.set(node, new _Node(node.val))

const que = [node]

while (que.length) {
const curNode = que.shift()

for (neighbor of curNode.neighbors) {
if (!visited.has(neighbor)) {
visited.set(neighbor, new _Node(neighbor.val));
que.push(neighbor)
}

visited.get(curNode).neighbors.push(visited.get(neighbor))
}
}

return visited.get(node)
};
38 changes: 38 additions & 0 deletions merge-two-sorted-lists/hwanmini.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// m: list1, n: list2
// 시간복잡도: O(m + n)
// 공간복잡도: O(m + n)

/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} list1
* @param {ListNode} list2
* @return {ListNode}
*/
var mergeTwoLists = function(list1, list2) {
let res = new ListNode()
let resCopy = res

while (list1 && list2) {
if (list1.val < list2.val) {
res.next = list1
list1 = list1.next;
} else {
res.next = list2
list2 = list2.next;
}

res = res.next
}

if (list1) res.next = list1;
if (list2) res.next = list2

return resCopy.next
};

0 comments on commit e0acb77

Please sign in to comment.