본문으로 건너뛰기
실습하기

코딩 퀴즈

이번 코딩 퀴즈는 이진 검색 알고리즘을 구현하는 것입니다.

정렬된 리스트에서 주어진 값이 존재하는지 확인하고, 그 값이 있는 인덱스를 반환하는 프로그램을 작성해보세요. 값이 없으면 -1을 반환해야 합니다.

이진 검색 알고리즘 구현하기
def solution(arr, target):
return # 여기에 코드를 작성하세요

힌트

  • 이진 검색 알고리즘은 리스트가 정렬된 상태에서만 동작합니다.

  • 중간값을 찾으려면 (왼쪽 인덱스 + 오른쪽 인덱스) // 2를 사용할 수 있습니다.

  • 리스트의 중간 요소를 선택하고, 이 중간 값이 찾는 값인지, 작거나 큰지 확인한 후, 탐색 범위를 절반으로 줄여서 다시 검색합니다.

  • 반복문 및 재귀 함수를 사용할 수 있습니다.

지금까지 배운 내용을 토대로 이진 검색 알고리즘을 구현하고, 테스트를 통과하는지 확인해보세요.

오른쪽 아래의 모범답안 버튼을 눌러 함수 작성 예시를 확인할 수 있습니다.




입출력 예시

예시 1

  • 입력: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 7

  • 출력: 6


예시 2

  • 입력: [1, 3, 5, 7, 9, 11, 13, 15], 4

  • 출력: -1

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!