본문 바로가기

두두의 알고리즘/문제

[이분탐색] 릿코드 Easy 704 'Binary Search' (Python)

728x90

<문제 링크>

https://leetcode.com/problems/binary-search/

 

Binary Search - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com


<문제 풀이>

  1. 이분탐색으로 리스트의 인덱스 찾기 

<코드>

class Solution:
    def search(self, nums: List[int], target: int) -> int:
        def binary_search(array,target,start,end):
            if start>end:
                return None
            mid = (start+end)//2
            if array[mid]==target:
                return mid
            elif array[mid]>target:
                return binary_search(array,target,start,mid-1)
            else:
                return binary_search(array,target,mid+1,end)
        result = binary_search(nums,target,0,len(nums)-1)
        if result==None:
            return -1
        else:
            return result

 

<고쳐야 할 점>

  • 이분탐색 코드 완벽하게 이해하기!!!!