From bdb5557054c51c3ead71dd77f132da970fddba9c Mon Sep 17 00:00:00 2001
From: mintheon <mintheon@mintheon.com>
Date: Sat, 15 Feb 2025 05:17:22 +0900
Subject: [PATCH 1/2] invert binary tree solved

---
 invert-binary-tree/mintheon.java | 52 ++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 invert-binary-tree/mintheon.java

diff --git a/invert-binary-tree/mintheon.java b/invert-binary-tree/mintheon.java
new file mode 100644
index 000000000..776b676b9
--- /dev/null
+++ b/invert-binary-tree/mintheon.java
@@ -0,0 +1,52 @@
+import java.util.ArrayDeque;
+import java.util.Queue;
+
+/**
+ * Definition for a binary tree node.
+ * public class TreeNode {
+ *     int val;
+ *     TreeNode left;
+ *     TreeNode right;
+ *     TreeNode() {}
+ *     TreeNode(int val) { this.val = val; }
+ *     TreeNode(int val, TreeNode left, TreeNode right) {
+ *         this.val = val;
+ *         this.left = left;
+ *         this.right = right;
+ *     }
+ * }
+ */
+//시간복잡도: O(n)
+//공간복잡도: O(n)
+class Solution {
+  public TreeNode invertTree(TreeNode root) {
+    if(root == null) {
+      return root;
+    }
+
+    Queue<TreeNode> queue = new ArrayDeque<>();
+    queue.add(root);
+
+    while(!queue.isEmpty()) {
+      TreeNode cur = queue.poll();
+
+      if(cur == null) {
+        continue;
+      }
+
+      TreeNode temp = cur.left;
+      cur.left = cur.right;
+      cur.right = temp;
+
+      if(cur.left != null) {
+        queue.add(cur.left);
+      }
+
+      if(cur.right != null) {
+        queue.add(cur.right);
+      }
+    }
+
+    return root;
+  }
+}

From a2670553c835593703b61923b587437511635bf8 Mon Sep 17 00:00:00 2001
From: mintheon <mintheon@mintheon.com>
Date: Sat, 15 Feb 2025 06:17:16 +0900
Subject: [PATCH 2/2] search in rotated sorted array solved

---
 search-in-rotated-sorted-array/mintheon.java | 41 ++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 search-in-rotated-sorted-array/mintheon.java

diff --git a/search-in-rotated-sorted-array/mintheon.java b/search-in-rotated-sorted-array/mintheon.java
new file mode 100644
index 000000000..934539981
--- /dev/null
+++ b/search-in-rotated-sorted-array/mintheon.java
@@ -0,0 +1,41 @@
+class Solution {
+  // 시간 복잡도: O(log n)
+  // 공간 복잡도: O(1);
+  public int search(int[] nums, int target) {
+    int left = 0;
+    int right = nums.length - 1;
+
+    while(left <= right) {
+      int mid = (left + right) / 2;
+
+      if(nums[mid] > nums[nums.length - 1]) {
+        left = mid + 1;
+      } else {
+        right = mid - 1;
+      }
+    }
+
+    int answer = binarySearch(nums, 0, left - 1, target);
+
+    return answer != -1 ? answer : binarySearch(nums, left, nums.length - 1, target);
+  }
+
+  private int binarySearch(int[] nums, int leftIndex, int rightIndex, int target) {
+    int left = leftIndex;
+    int right = rightIndex;
+
+    while(left <= right) {
+      int mid = (left + right) / 2;
+
+      if(nums[mid] == target) {
+        return mid;
+      } else if (nums[mid] < target) {
+        left = mid + 1;
+      } else {
+        right = mid - 1;
+      }
+    }
+
+    return -1;
+  }
+}