From a51536d1cc24a0eccfd9a37a666b54fde6f385fb Mon Sep 17 00:00:00 2001 From: YOUNGJIN NA <120540450+ppxyn1@users.noreply.github.com> Date: Sun, 11 Jan 2026 18:54:45 +0900 Subject: [PATCH 1/2] [:solved] 2 problems --- invert-binary-tree/ppxyn1.py | 24 ++++++++++++++++++ search-in-rotated-sorted-array/ppxyn1.py | 32 ++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 invert-binary-tree/ppxyn1.py create mode 100644 search-in-rotated-sorted-array/ppxyn1.py diff --git a/invert-binary-tree/ppxyn1.py b/invert-binary-tree/ppxyn1.py new file mode 100644 index 0000000000..57da1f79c6 --- /dev/null +++ b/invert-binary-tree/ppxyn1.py @@ -0,0 +1,24 @@ +# 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 + +# idea : dfs +# Time Complexity : O(n) + +class Solution: + def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]: + if root is None: + return None + + tmp = root.left + root.left = root.right + root.right = tmp + + self.invertTree(root.left) + self.invertTree(root.right) + return root + + diff --git a/search-in-rotated-sorted-array/ppxyn1.py b/search-in-rotated-sorted-array/ppxyn1.py new file mode 100644 index 0000000000..3f5d480c29 --- /dev/null +++ b/search-in-rotated-sorted-array/ppxyn1.py @@ -0,0 +1,32 @@ +# idea : binary search +# Time Complexity : O(log n) + +# Sorting is not allowed because it costs O(n log n), so we must handle it using binary search without sorting. +# One way is to check where the sorted order is disrupted. + +class Solution: + def search(self, nums: List[int], target: int) -> int: + left, right = 0, len(nums)-1 + + while left <= right: + mid = (left + right) // 2 + + if nums[mid] == target: + return mid + + # left ~ mid is sorted + if nums[left] <= nums[mid]: + if nums[left] <= target < nums[mid]: + right = mid - 1 + else: + left = mid + 1 + + # mid ~ right is sorted + else: + if nums[mid] < target <= nums[right]: + left = mid + 1 + else: + right = mid - 1 + return -1 + + From 8a79bf3a329155237ac0975dbedaac0ee3fc01df Mon Sep 17 00:00:00 2001 From: YOUNGJIN NA <120540450+ppxyn1@users.noreply.github.com> Date: Sun, 11 Jan 2026 19:01:17 +0900 Subject: [PATCH 2/2] [:fixed] --- search-in-rotated-sorted-array/ppxyn1.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/search-in-rotated-sorted-array/ppxyn1.py b/search-in-rotated-sorted-array/ppxyn1.py index 3f5d480c29..be93bb55d0 100644 --- a/search-in-rotated-sorted-array/ppxyn1.py +++ b/search-in-rotated-sorted-array/ppxyn1.py @@ -14,14 +14,12 @@ def search(self, nums: List[int], target: int) -> int: if nums[mid] == target: return mid - # left ~ mid is sorted if nums[left] <= nums[mid]: if nums[left] <= target < nums[mid]: right = mid - 1 else: left = mid + 1 - # mid ~ right is sorted else: if nums[mid] < target <= nums[right]: left = mid + 1