From 7fd126df457e080548ce651c1c2cf2949fca7fb9 Mon Sep 17 00:00:00 2001 From: Lyla Date: Tue, 18 Mar 2025 15:41:46 -0400 Subject: [PATCH 1/5] change github username --- 3sum/{pmjuu.py => lylaminju.py} | 0 best-time-to-buy-and-sell-stock/{pmjuu.py => lylaminju.py} | 0 binary-tree-level-order-traversal/{pmjuu.py => lylaminju.py} | 0 climbing-stairs/{pmjuu.py => lylaminju.py} | 0 clone-graph/{pmjuu.py => lylaminju.py} | 0 coin-change/{pmjuu.py => lylaminju.py} | 0 combination-sum/{pmjuu.py => lylaminju.py} | 0 .../{pmjuu.py => lylaminju.py} | 0 container-with-most-water/{pmjuu.py => lylaminju.py} | 0 contains-duplicate/{pmjuu.py => lylaminju.py} | 0 counting-bits/{pmjuu.py => lylaminju.py} | 0 course-schedule/{pmjuu.py => lylaminju.py} | 0 decode-ways/{pmjuu.py => lylaminju.py} | 0 .../{pmjuu.py => lylaminju.py} | 0 encode-and-decode-strings/{pmjuu.py => lylaminju.py} | 0 find-minimum-in-rotated-sorted-array/{pmjuu.py => lylaminju.py} | 0 graph-valid-tree/{pmjuu.py => lylaminju.py} | 0 group-anagrams/{pmjuu.py => lylaminju.py} | 0 house-robber-ii/{pmjuu.py => lylaminju.py} | 0 house-robber/{pmjuu.py => lylaminju.py} | 0 implement-trie-prefix-tree/{pmjuu.py => lylaminju.py} | 0 insert-interval/{pmjuu.py => lylaminju.py} | 0 invert-binary-tree/{pmjuu.py => lylaminju.py} | 0 jump-game/{pmjuu.py => lylaminju.py} | 0 kth-smallest-element-in-a-bst/{pmjuu.py => lylaminju.py} | 0 linked-list-cycle/{pmjuu.py => lylaminju.py} | 0 longest-common-subsequence/{pmjuu.py => lylaminju.py} | 0 longest-consecutive-sequence/{pmjuu.py => lylaminju.py} | 0 longest-increasing-subsequence/{pmjuu.py => lylaminju.py} | 0 .../{pmjuu.py => lylaminju.py} | 0 .../{pmjuu.py => lylaminju.py} | 0 .../{pmjuu.py => lylaminju.py} | 0 maximum-depth-of-binary-tree/{pmjuu.py => lylaminju.py} | 0 maximum-product-subarray/{pmjuu.py => lylaminju.py} | 0 maximum-subarray/{pmjuu.py => lylaminju.py} | 0 meeting-rooms-ii/{pmjuu.py => lylaminju.py} | 0 meeting-rooms/{pmjuu.py => lylaminju.py} | 0 merge-intervals/{pmjuu.py => lylaminju.py} | 0 merge-two-sorted-lists/{pmjuu.py => lylaminju.py} | 0 missing-number/{pmjuu.py => lylaminju.py} | 0 non-overlapping-intervals/{pmjuu.py => lylaminju.py} | 0 number-of-1-bits/{pmjuu.py => lylaminju.py} | 0 .../{pmjuu.py => lylaminju.py} | 0 number-of-islands/{pmjuu.py => lylaminju.py} | 0 pacific-atlantic-water-flow/{pmjuu.py => lylaminju.py} | 0 palindromic-substrings/{pmjuu.py => lylaminju.py} | 0 product-of-array-except-self/{pmjuu.py => lylaminju.py} | 0 remove-nth-node-from-end-of-list/{pmjuu.py => lylaminju.py} | 0 reorder-list/{pmjuu.py => lylaminju.py} | 0 reverse-bits/{pmjuu.py => lylaminju.py} | 0 reverse-linked-list/{pmjuu.py => lylaminju.py} | 0 same-tree/{pmjuu.py => lylaminju.py} | 0 search-in-rotated-sorted-array/{pmjuu.py => lylaminju.py} | 0 set-matrix-zeroes/{pmjuu.py => lylaminju.py} | 0 spiral-matrix/{pmjuu.py => lylaminju.py} | 0 sum-of-two-integers/{pmjuu.py => lylaminju.py} | 0 top-k-frequent-elements/{pmjuu.py => lylaminju.py} | 0 two-sum/{pmjuu.py => lylaminju.py} | 0 unique-paths/{pmjuu.py => lylaminju.py} | 0 valid-anagram/{pmjuu.py => lylaminju.py} | 0 valid-palindrome/{pmjuu.py => lylaminju.py} | 0 valid-parentheses/{pmjuu.py => lylaminju.py} | 0 word-break/{pmjuu.py => lylaminju.py} | 0 word-search-ii/{pmjuu.py => lylaminju.py} | 0 word-search/{pmjuu.py => lylaminju.py} | 0 65 files changed, 0 insertions(+), 0 deletions(-) rename 3sum/{pmjuu.py => lylaminju.py} (100%) rename best-time-to-buy-and-sell-stock/{pmjuu.py => lylaminju.py} (100%) rename binary-tree-level-order-traversal/{pmjuu.py => lylaminju.py} (100%) rename climbing-stairs/{pmjuu.py => lylaminju.py} (100%) rename clone-graph/{pmjuu.py => lylaminju.py} (100%) rename coin-change/{pmjuu.py => lylaminju.py} (100%) rename combination-sum/{pmjuu.py => lylaminju.py} (100%) rename construct-binary-tree-from-preorder-and-inorder-traversal/{pmjuu.py => lylaminju.py} (100%) rename container-with-most-water/{pmjuu.py => lylaminju.py} (100%) rename contains-duplicate/{pmjuu.py => lylaminju.py} (100%) rename counting-bits/{pmjuu.py => lylaminju.py} (100%) rename course-schedule/{pmjuu.py => lylaminju.py} (100%) rename decode-ways/{pmjuu.py => lylaminju.py} (100%) rename design-add-and-search-words-data-structure/{pmjuu.py => lylaminju.py} (100%) rename encode-and-decode-strings/{pmjuu.py => lylaminju.py} (100%) rename find-minimum-in-rotated-sorted-array/{pmjuu.py => lylaminju.py} (100%) rename graph-valid-tree/{pmjuu.py => lylaminju.py} (100%) rename group-anagrams/{pmjuu.py => lylaminju.py} (100%) rename house-robber-ii/{pmjuu.py => lylaminju.py} (100%) rename house-robber/{pmjuu.py => lylaminju.py} (100%) rename implement-trie-prefix-tree/{pmjuu.py => lylaminju.py} (100%) rename insert-interval/{pmjuu.py => lylaminju.py} (100%) rename invert-binary-tree/{pmjuu.py => lylaminju.py} (100%) rename jump-game/{pmjuu.py => lylaminju.py} (100%) rename kth-smallest-element-in-a-bst/{pmjuu.py => lylaminju.py} (100%) rename linked-list-cycle/{pmjuu.py => lylaminju.py} (100%) rename longest-common-subsequence/{pmjuu.py => lylaminju.py} (100%) rename longest-consecutive-sequence/{pmjuu.py => lylaminju.py} (100%) rename longest-increasing-subsequence/{pmjuu.py => lylaminju.py} (100%) rename longest-repeating-character-replacement/{pmjuu.py => lylaminju.py} (100%) rename longest-substring-without-repeating-characters/{pmjuu.py => lylaminju.py} (100%) rename lowest-common-ancestor-of-a-binary-search-tree/{pmjuu.py => lylaminju.py} (100%) rename maximum-depth-of-binary-tree/{pmjuu.py => lylaminju.py} (100%) rename maximum-product-subarray/{pmjuu.py => lylaminju.py} (100%) rename maximum-subarray/{pmjuu.py => lylaminju.py} (100%) rename meeting-rooms-ii/{pmjuu.py => lylaminju.py} (100%) rename meeting-rooms/{pmjuu.py => lylaminju.py} (100%) rename merge-intervals/{pmjuu.py => lylaminju.py} (100%) rename merge-two-sorted-lists/{pmjuu.py => lylaminju.py} (100%) rename missing-number/{pmjuu.py => lylaminju.py} (100%) rename non-overlapping-intervals/{pmjuu.py => lylaminju.py} (100%) rename number-of-1-bits/{pmjuu.py => lylaminju.py} (100%) rename number-of-connected-components-in-an-undirected-graph/{pmjuu.py => lylaminju.py} (100%) rename number-of-islands/{pmjuu.py => lylaminju.py} (100%) rename pacific-atlantic-water-flow/{pmjuu.py => lylaminju.py} (100%) rename palindromic-substrings/{pmjuu.py => lylaminju.py} (100%) rename product-of-array-except-self/{pmjuu.py => lylaminju.py} (100%) rename remove-nth-node-from-end-of-list/{pmjuu.py => lylaminju.py} (100%) rename reorder-list/{pmjuu.py => lylaminju.py} (100%) rename reverse-bits/{pmjuu.py => lylaminju.py} (100%) rename reverse-linked-list/{pmjuu.py => lylaminju.py} (100%) rename same-tree/{pmjuu.py => lylaminju.py} (100%) rename search-in-rotated-sorted-array/{pmjuu.py => lylaminju.py} (100%) rename set-matrix-zeroes/{pmjuu.py => lylaminju.py} (100%) rename spiral-matrix/{pmjuu.py => lylaminju.py} (100%) rename sum-of-two-integers/{pmjuu.py => lylaminju.py} (100%) rename top-k-frequent-elements/{pmjuu.py => lylaminju.py} (100%) rename two-sum/{pmjuu.py => lylaminju.py} (100%) rename unique-paths/{pmjuu.py => lylaminju.py} (100%) rename valid-anagram/{pmjuu.py => lylaminju.py} (100%) rename valid-palindrome/{pmjuu.py => lylaminju.py} (100%) rename valid-parentheses/{pmjuu.py => lylaminju.py} (100%) rename word-break/{pmjuu.py => lylaminju.py} (100%) rename word-search-ii/{pmjuu.py => lylaminju.py} (100%) rename word-search/{pmjuu.py => lylaminju.py} (100%) diff --git a/3sum/pmjuu.py b/3sum/lylaminju.py similarity index 100% rename from 3sum/pmjuu.py rename to 3sum/lylaminju.py diff --git a/best-time-to-buy-and-sell-stock/pmjuu.py b/best-time-to-buy-and-sell-stock/lylaminju.py similarity index 100% rename from best-time-to-buy-and-sell-stock/pmjuu.py rename to best-time-to-buy-and-sell-stock/lylaminju.py diff --git a/binary-tree-level-order-traversal/pmjuu.py b/binary-tree-level-order-traversal/lylaminju.py similarity index 100% rename from binary-tree-level-order-traversal/pmjuu.py rename to binary-tree-level-order-traversal/lylaminju.py diff --git a/climbing-stairs/pmjuu.py b/climbing-stairs/lylaminju.py similarity index 100% rename from climbing-stairs/pmjuu.py rename to climbing-stairs/lylaminju.py diff --git a/clone-graph/pmjuu.py b/clone-graph/lylaminju.py similarity index 100% rename from clone-graph/pmjuu.py rename to clone-graph/lylaminju.py diff --git a/coin-change/pmjuu.py b/coin-change/lylaminju.py similarity index 100% rename from coin-change/pmjuu.py rename to coin-change/lylaminju.py diff --git a/combination-sum/pmjuu.py b/combination-sum/lylaminju.py similarity index 100% rename from combination-sum/pmjuu.py rename to combination-sum/lylaminju.py diff --git a/construct-binary-tree-from-preorder-and-inorder-traversal/pmjuu.py b/construct-binary-tree-from-preorder-and-inorder-traversal/lylaminju.py similarity index 100% rename from construct-binary-tree-from-preorder-and-inorder-traversal/pmjuu.py rename to construct-binary-tree-from-preorder-and-inorder-traversal/lylaminju.py diff --git a/container-with-most-water/pmjuu.py b/container-with-most-water/lylaminju.py similarity index 100% rename from container-with-most-water/pmjuu.py rename to container-with-most-water/lylaminju.py diff --git a/contains-duplicate/pmjuu.py b/contains-duplicate/lylaminju.py similarity index 100% rename from contains-duplicate/pmjuu.py rename to contains-duplicate/lylaminju.py diff --git a/counting-bits/pmjuu.py b/counting-bits/lylaminju.py similarity index 100% rename from counting-bits/pmjuu.py rename to counting-bits/lylaminju.py diff --git a/course-schedule/pmjuu.py b/course-schedule/lylaminju.py similarity index 100% rename from course-schedule/pmjuu.py rename to course-schedule/lylaminju.py diff --git a/decode-ways/pmjuu.py b/decode-ways/lylaminju.py similarity index 100% rename from decode-ways/pmjuu.py rename to decode-ways/lylaminju.py diff --git a/design-add-and-search-words-data-structure/pmjuu.py b/design-add-and-search-words-data-structure/lylaminju.py similarity index 100% rename from design-add-and-search-words-data-structure/pmjuu.py rename to design-add-and-search-words-data-structure/lylaminju.py diff --git a/encode-and-decode-strings/pmjuu.py b/encode-and-decode-strings/lylaminju.py similarity index 100% rename from encode-and-decode-strings/pmjuu.py rename to encode-and-decode-strings/lylaminju.py diff --git a/find-minimum-in-rotated-sorted-array/pmjuu.py b/find-minimum-in-rotated-sorted-array/lylaminju.py similarity index 100% rename from find-minimum-in-rotated-sorted-array/pmjuu.py rename to find-minimum-in-rotated-sorted-array/lylaminju.py diff --git a/graph-valid-tree/pmjuu.py b/graph-valid-tree/lylaminju.py similarity index 100% rename from graph-valid-tree/pmjuu.py rename to graph-valid-tree/lylaminju.py diff --git a/group-anagrams/pmjuu.py b/group-anagrams/lylaminju.py similarity index 100% rename from group-anagrams/pmjuu.py rename to group-anagrams/lylaminju.py diff --git a/house-robber-ii/pmjuu.py b/house-robber-ii/lylaminju.py similarity index 100% rename from house-robber-ii/pmjuu.py rename to house-robber-ii/lylaminju.py diff --git a/house-robber/pmjuu.py b/house-robber/lylaminju.py similarity index 100% rename from house-robber/pmjuu.py rename to house-robber/lylaminju.py diff --git a/implement-trie-prefix-tree/pmjuu.py b/implement-trie-prefix-tree/lylaminju.py similarity index 100% rename from implement-trie-prefix-tree/pmjuu.py rename to implement-trie-prefix-tree/lylaminju.py diff --git a/insert-interval/pmjuu.py b/insert-interval/lylaminju.py similarity index 100% rename from insert-interval/pmjuu.py rename to insert-interval/lylaminju.py diff --git a/invert-binary-tree/pmjuu.py b/invert-binary-tree/lylaminju.py similarity index 100% rename from invert-binary-tree/pmjuu.py rename to invert-binary-tree/lylaminju.py diff --git a/jump-game/pmjuu.py b/jump-game/lylaminju.py similarity index 100% rename from jump-game/pmjuu.py rename to jump-game/lylaminju.py diff --git a/kth-smallest-element-in-a-bst/pmjuu.py b/kth-smallest-element-in-a-bst/lylaminju.py similarity index 100% rename from kth-smallest-element-in-a-bst/pmjuu.py rename to kth-smallest-element-in-a-bst/lylaminju.py diff --git a/linked-list-cycle/pmjuu.py b/linked-list-cycle/lylaminju.py similarity index 100% rename from linked-list-cycle/pmjuu.py rename to linked-list-cycle/lylaminju.py diff --git a/longest-common-subsequence/pmjuu.py b/longest-common-subsequence/lylaminju.py similarity index 100% rename from longest-common-subsequence/pmjuu.py rename to longest-common-subsequence/lylaminju.py diff --git a/longest-consecutive-sequence/pmjuu.py b/longest-consecutive-sequence/lylaminju.py similarity index 100% rename from longest-consecutive-sequence/pmjuu.py rename to longest-consecutive-sequence/lylaminju.py diff --git a/longest-increasing-subsequence/pmjuu.py b/longest-increasing-subsequence/lylaminju.py similarity index 100% rename from longest-increasing-subsequence/pmjuu.py rename to longest-increasing-subsequence/lylaminju.py diff --git a/longest-repeating-character-replacement/pmjuu.py b/longest-repeating-character-replacement/lylaminju.py similarity index 100% rename from longest-repeating-character-replacement/pmjuu.py rename to longest-repeating-character-replacement/lylaminju.py diff --git a/longest-substring-without-repeating-characters/pmjuu.py b/longest-substring-without-repeating-characters/lylaminju.py similarity index 100% rename from longest-substring-without-repeating-characters/pmjuu.py rename to longest-substring-without-repeating-characters/lylaminju.py diff --git a/lowest-common-ancestor-of-a-binary-search-tree/pmjuu.py b/lowest-common-ancestor-of-a-binary-search-tree/lylaminju.py similarity index 100% rename from lowest-common-ancestor-of-a-binary-search-tree/pmjuu.py rename to lowest-common-ancestor-of-a-binary-search-tree/lylaminju.py diff --git a/maximum-depth-of-binary-tree/pmjuu.py b/maximum-depth-of-binary-tree/lylaminju.py similarity index 100% rename from maximum-depth-of-binary-tree/pmjuu.py rename to maximum-depth-of-binary-tree/lylaminju.py diff --git a/maximum-product-subarray/pmjuu.py b/maximum-product-subarray/lylaminju.py similarity index 100% rename from maximum-product-subarray/pmjuu.py rename to maximum-product-subarray/lylaminju.py diff --git a/maximum-subarray/pmjuu.py b/maximum-subarray/lylaminju.py similarity index 100% rename from maximum-subarray/pmjuu.py rename to maximum-subarray/lylaminju.py diff --git a/meeting-rooms-ii/pmjuu.py b/meeting-rooms-ii/lylaminju.py similarity index 100% rename from meeting-rooms-ii/pmjuu.py rename to meeting-rooms-ii/lylaminju.py diff --git a/meeting-rooms/pmjuu.py b/meeting-rooms/lylaminju.py similarity index 100% rename from meeting-rooms/pmjuu.py rename to meeting-rooms/lylaminju.py diff --git a/merge-intervals/pmjuu.py b/merge-intervals/lylaminju.py similarity index 100% rename from merge-intervals/pmjuu.py rename to merge-intervals/lylaminju.py diff --git a/merge-two-sorted-lists/pmjuu.py b/merge-two-sorted-lists/lylaminju.py similarity index 100% rename from merge-two-sorted-lists/pmjuu.py rename to merge-two-sorted-lists/lylaminju.py diff --git a/missing-number/pmjuu.py b/missing-number/lylaminju.py similarity index 100% rename from missing-number/pmjuu.py rename to missing-number/lylaminju.py diff --git a/non-overlapping-intervals/pmjuu.py b/non-overlapping-intervals/lylaminju.py similarity index 100% rename from non-overlapping-intervals/pmjuu.py rename to non-overlapping-intervals/lylaminju.py diff --git a/number-of-1-bits/pmjuu.py b/number-of-1-bits/lylaminju.py similarity index 100% rename from number-of-1-bits/pmjuu.py rename to number-of-1-bits/lylaminju.py diff --git a/number-of-connected-components-in-an-undirected-graph/pmjuu.py b/number-of-connected-components-in-an-undirected-graph/lylaminju.py similarity index 100% rename from number-of-connected-components-in-an-undirected-graph/pmjuu.py rename to number-of-connected-components-in-an-undirected-graph/lylaminju.py diff --git a/number-of-islands/pmjuu.py b/number-of-islands/lylaminju.py similarity index 100% rename from number-of-islands/pmjuu.py rename to number-of-islands/lylaminju.py diff --git a/pacific-atlantic-water-flow/pmjuu.py b/pacific-atlantic-water-flow/lylaminju.py similarity index 100% rename from pacific-atlantic-water-flow/pmjuu.py rename to pacific-atlantic-water-flow/lylaminju.py diff --git a/palindromic-substrings/pmjuu.py b/palindromic-substrings/lylaminju.py similarity index 100% rename from palindromic-substrings/pmjuu.py rename to palindromic-substrings/lylaminju.py diff --git a/product-of-array-except-self/pmjuu.py b/product-of-array-except-self/lylaminju.py similarity index 100% rename from product-of-array-except-self/pmjuu.py rename to product-of-array-except-self/lylaminju.py diff --git a/remove-nth-node-from-end-of-list/pmjuu.py b/remove-nth-node-from-end-of-list/lylaminju.py similarity index 100% rename from remove-nth-node-from-end-of-list/pmjuu.py rename to remove-nth-node-from-end-of-list/lylaminju.py diff --git a/reorder-list/pmjuu.py b/reorder-list/lylaminju.py similarity index 100% rename from reorder-list/pmjuu.py rename to reorder-list/lylaminju.py diff --git a/reverse-bits/pmjuu.py b/reverse-bits/lylaminju.py similarity index 100% rename from reverse-bits/pmjuu.py rename to reverse-bits/lylaminju.py diff --git a/reverse-linked-list/pmjuu.py b/reverse-linked-list/lylaminju.py similarity index 100% rename from reverse-linked-list/pmjuu.py rename to reverse-linked-list/lylaminju.py diff --git a/same-tree/pmjuu.py b/same-tree/lylaminju.py similarity index 100% rename from same-tree/pmjuu.py rename to same-tree/lylaminju.py diff --git a/search-in-rotated-sorted-array/pmjuu.py b/search-in-rotated-sorted-array/lylaminju.py similarity index 100% rename from search-in-rotated-sorted-array/pmjuu.py rename to search-in-rotated-sorted-array/lylaminju.py diff --git a/set-matrix-zeroes/pmjuu.py b/set-matrix-zeroes/lylaminju.py similarity index 100% rename from set-matrix-zeroes/pmjuu.py rename to set-matrix-zeroes/lylaminju.py diff --git a/spiral-matrix/pmjuu.py b/spiral-matrix/lylaminju.py similarity index 100% rename from spiral-matrix/pmjuu.py rename to spiral-matrix/lylaminju.py diff --git a/sum-of-two-integers/pmjuu.py b/sum-of-two-integers/lylaminju.py similarity index 100% rename from sum-of-two-integers/pmjuu.py rename to sum-of-two-integers/lylaminju.py diff --git a/top-k-frequent-elements/pmjuu.py b/top-k-frequent-elements/lylaminju.py similarity index 100% rename from top-k-frequent-elements/pmjuu.py rename to top-k-frequent-elements/lylaminju.py diff --git a/two-sum/pmjuu.py b/two-sum/lylaminju.py similarity index 100% rename from two-sum/pmjuu.py rename to two-sum/lylaminju.py diff --git a/unique-paths/pmjuu.py b/unique-paths/lylaminju.py similarity index 100% rename from unique-paths/pmjuu.py rename to unique-paths/lylaminju.py diff --git a/valid-anagram/pmjuu.py b/valid-anagram/lylaminju.py similarity index 100% rename from valid-anagram/pmjuu.py rename to valid-anagram/lylaminju.py diff --git a/valid-palindrome/pmjuu.py b/valid-palindrome/lylaminju.py similarity index 100% rename from valid-palindrome/pmjuu.py rename to valid-palindrome/lylaminju.py diff --git a/valid-parentheses/pmjuu.py b/valid-parentheses/lylaminju.py similarity index 100% rename from valid-parentheses/pmjuu.py rename to valid-parentheses/lylaminju.py diff --git a/word-break/pmjuu.py b/word-break/lylaminju.py similarity index 100% rename from word-break/pmjuu.py rename to word-break/lylaminju.py diff --git a/word-search-ii/pmjuu.py b/word-search-ii/lylaminju.py similarity index 100% rename from word-search-ii/pmjuu.py rename to word-search-ii/lylaminju.py diff --git a/word-search/pmjuu.py b/word-search/lylaminju.py similarity index 100% rename from word-search/pmjuu.py rename to word-search/lylaminju.py From 9c33ebc2889d7678fed7779044cd8958637c1aec Mon Sep 17 00:00:00 2001 From: Lyla Date: Tue, 18 Mar 2025 16:02:35 -0400 Subject: [PATCH 2/5] solve 1 --- subtree-of-another-tree/lylaminju.py | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 subtree-of-another-tree/lylaminju.py diff --git a/subtree-of-another-tree/lylaminju.py b/subtree-of-another-tree/lylaminju.py new file mode 100644 index 000000000..0ed52e970 --- /dev/null +++ b/subtree-of-another-tree/lylaminju.py @@ -0,0 +1,33 @@ +''' +시간 복잡도: O(m * n) +- m은 root 트리의 노드 수, n은 subRoot 트리의 노드 수 + +공간 복잡도: O(h) +- h는 root 트리의 높이 +''' +class TreeNode: + def __init__(self, val=0, left=None, right=None): + self.val = val + self.left = left + self.right = right +from typing import Optional + + +class Solution: + def isSubtree(self, root: Optional[TreeNode], subRoot: Optional[TreeNode]) -> bool: + if not subRoot: + return True + + if not root: + return False + + return self.isSameTree(root, subRoot) or self.isSubtree(root.left, subRoot) or self.isSubtree(root.right, subRoot) + + def isSameTree(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> bool: + if not root1 and not root2: + return True + + if not root1 or not root2: + return False + + return root1.val == root2.val and self.isSameTree(root1.left, root2.left) and self.isSameTree(root1.right, root2.right) From af1b19944114e5048fd7971cab95f70b05769594 Mon Sep 17 00:00:00 2001 From: Lyla Date: Tue, 18 Mar 2025 16:39:02 -0400 Subject: [PATCH 3/5] solve 2 --- validate-binary-search-tree/lylaminju.py | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 validate-binary-search-tree/lylaminju.py diff --git a/validate-binary-search-tree/lylaminju.py b/validate-binary-search-tree/lylaminju.py new file mode 100644 index 000000000..0972f5367 --- /dev/null +++ b/validate-binary-search-tree/lylaminju.py @@ -0,0 +1,31 @@ +''' +시간 복잡도: O(n) +- n은 트리의 노드 수 + +공간 복잡도: O(h) +- h는 트리의 높이 +''' +from typing import Optional + +# Definition for a binary tree node. +class TreeNode: + def __init__(self, val=0, left=None, right=None): + self.val = val + self.left = left + self.right = right + +class Solution: + def isValidBST(self, root: Optional[TreeNode]) -> bool: + def validate(node, min_val, max_val): + if not node: + return True + + # 현재 노드 값이 허용 범위를 벗어나면 False + if node.val <= min_val or node.val >= max_val: + return False + + # 왼쪽 서브트리는 현재 값보다 작아야 하고, 오른쪽 서브트리는 현재 값보다 커야 함 + return validate(node.left, min_val, node.val) and validate(node.right, node.val, max_val) + + # 초기 범위는 전체 정수 범위로 설정 + return validate(root, float('-inf'), float('inf')) From 536237d5a8a1b182654f4e7976f032267f9b79bf Mon Sep 17 00:00:00 2001 From: Lyla Date: Fri, 21 Mar 2025 00:54:23 -0400 Subject: [PATCH 4/5] solve 3 --- longest-palindromic-substring/lylaminju.py | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 longest-palindromic-substring/lylaminju.py diff --git a/longest-palindromic-substring/lylaminju.py b/longest-palindromic-substring/lylaminju.py new file mode 100644 index 000000000..c77763235 --- /dev/null +++ b/longest-palindromic-substring/lylaminju.py @@ -0,0 +1,31 @@ +''' +시간 복잡도: O(n^2) +공간 복잡도: O(1) +''' + +class Solution: + def longestPalindrome(self, s: str) -> str: + start, max_length = 0, 1 # Track longest palindrome + + def expand_around_center(left: int, right: int) -> int: + while left >= 0 and right < len(s) and s[left] == s[right]: + left -= 1 + right += 1 + # Return length of palindrome + return right - left - 1 + + # Check each position as potential center + for i in range(len(s)): + # Check for odd length palindromes (single character center) + len1 = expand_around_center(i, i) + # Check for even length palindromes (between two characters) + len2 = expand_around_center(i, i + 1) + + curr_max = max(len1, len2) + + # Update start and max_length if current palindrome is longer + if curr_max > max_length: + max_length = curr_max + start = i - (curr_max - 1) // 2 + + return s[start:start + max_length] From 90fda942cee26ecd10dfa3e497b7b975c1571316 Mon Sep 17 00:00:00 2001 From: Lyla Date: Fri, 21 Mar 2025 12:33:24 -0400 Subject: [PATCH 5/5] solve 4 --- rotate-image/lylaminju.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 rotate-image/lylaminju.py diff --git a/rotate-image/lylaminju.py b/rotate-image/lylaminju.py new file mode 100644 index 000000000..1b01dc356 --- /dev/null +++ b/rotate-image/lylaminju.py @@ -0,0 +1,32 @@ +''' +시간 복잡도: O(n^2) +공간 복잡도: O(1) +''' +from typing import List + + +class Solution: + def rotate(self, matrix: List[List[int]]) -> None: + n = len(matrix) + + for i in range(n // 2): + k = (n - 1) - i * 2 + + for j in range(k): + end = i + k + + matrix[i][i + j], matrix[i + j][end], matrix[end][end - j], matrix[end - j][i] = matrix[end - j][i], matrix[i][i + j], matrix[i + j][end], matrix[end][end - j] + + +class Solution: + def rotate(self, matrix: List[List[int]]) -> None: + n = len(matrix) + + # Step 1: Transpose matrix (swap elements across diagonal) + for i in range(n): + for j in range(i, n): + matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j] + + # Step 2: Reverse each row + for i in range(n): + matrix[i].reverse()