Python :알고리즘 (code-kata)

오름차순인 숫자 nums 배열과 찾아야할 target을 인자로 주면, target이 몇 번째 index인지 return하라.

Input: nums = [-1,0,3,5,9,12], target = 9
Output: 4
Input: nums = [-1,0,3,5,9,12], target = 2
Output: -1
설명: 찾지 못하면 -1로 return 해주세요.

모델 답안:

def search(nums,target):
    left, right = 0, len(nums) - 1
    while left <= right:
        pivot = left + (right - left) // 2
        if nums[pivot] == target:
            return pivot
        if target < nums[pivot]:
            right = pivot - 1
        else:
            left = pivot + 1
    return -1

**위 코드에서 left가 right보다 작거나 같으면 left+(right-left)//2를 해줘서 'left'와'right-left' 값 사이에 인덱스를 구해준다.

좋은 웹페이지 즐겨찾기