학습 자료
코딩 퀴즈
이번 코딩 퀴즈는 이진 검색 알고리즘을 구현하는 것입니다.
정렬된 리스트에서 주어진 값이 존재하는지 확인하고, 그 값이 있는 인덱스를 반환하는 프로그램을 작성해보세요. 값이 없으면 -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
이 챕터의 강의 · 객체지향 프로그래밍, 자료구조 및 알고리즘 기초
- 1. 객체지향 프로그래밍이란?
- 2. 객체의 시작과 끝, 행동을 정의하는 방법
- 3. 클래스의 기능을 확장하는 상속
- 4. 캡슐화와 다형성, 객체지향 프로그래밍의 핵심 개념
- 5. 빈칸 채우기 퀴즈
- 6. 데이터를 체계적으로 관리하기 위한 자료구조
- 7. 접시처럼 쌓아 올리는 스택(Stack)
- 8. 줄을 서는 대기열, 큐(Queue)
- 9. 데이터를 동적으로 연결하는 연결 리스트(Linked List)
- 10. 키와 값으로 데이터를 관리하는 해시 테이블
- 11. 트리(Tree)란 무엇일까요?
- 12. 선택형 퀴즈
- 13. 알고리즘은 무엇일까?
- 14. 빠르고 효율적인 검색 방법, 이진 검색(Binary Search)
- 15. 코딩 퀴즈 - 이진 검색 알고리즘 구현하기
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말