diff --git a/bangdori/33.js b/bangdori/33.js new file mode 100644 index 0000000..a0cfafb --- /dev/null +++ b/bangdori/33.js @@ -0,0 +1,30 @@ +/** + * @param {number[]} nums + * @param {number} target + * @return {number} + */ +var search = function (nums, target) { + let left = 0, + right = nums.length - 1; + + while (left <= right) { + const mid = Math.floor((left + right) / 2); + if (nums[mid] === target) return mid; + + if (nums[left] <= nums[mid]) { + if (nums[left] <= target && target < nums[mid]) { + right = mid - 1; + } else { + left = mid + 1; + } + } else { + if (nums[mid] < target && target <= nums[right]) { + left = mid + 1; + } else { + right = mid - 1; + } + } + } + + return -1; +};