코딩연습
-
[파이썬 기초] 알고리즘의 개념 / 코딩 연습 - 예제3(이진 탐색 알고리즘)프로그래밍 2021. 3. 9. 07:52
# 이진 탐색 알고리즘(binary search algorithm) : 정렬된 리스트를 전제로, 탐색 범위를 절반으로 줄여 가며 탐색을 진행하는 알고리즘 코드잇 예제풀이(이진탐색 알고리즘 문제) : 파라미터로 탐색할 값 element와 리스트 some_list를 받는 함수 binary_search를 정의하여 그 위치(인덱스) 혹은 None를 리턴 * 이진 탐색 알고리즘의 진행 순서(예시) [1, 2, 3, 5, 8, 13, 21, 34, 55]에서 3을 찾는 경우의 알고리즘의 진행 방식은 다음과 같다. 시도 1 리스트의 첫 번째 인덱스(원소의 위치)와 마지막 인덱스의 값을 합하여 2로 나눈 후, 그 몫을 중간 인덱스로 지정함(인덱스는 소수점이 될 수 없으므로 나눈 몫을 중간 인덱스로 지정). 그 중간 인..
-
[파이썬 기초] 알고리즘의 개념 / 코딩 연습 - 예제2(선형 탐색 알고리즘)프로그래밍 2021. 3. 5. 08:32
# 선형 탐색 알고리즘(linear search algorithm) : 리스트의 처음부터 끝까지 순서대로 하나씩 탐색을 진행하는 알고리즘 코드잇 예제풀이(선형탐색 알고리즘 문제) : 파라미터로 탐색할 값 element와 리스트 some_list를 받는 함수 linear_search를 정의하여 그 위치(인덱스) 혹은 None을 리턴 Hint 1 : For 반복문을 사용 및 반복문 사용할 범위 설정 → 어느 범위까지 반복문을 돌 것인가 : 리스트 내 원소의 개수만큼 반복 : 리스트 내 원소의 개수 = len(some_list) Hint 2 : For 반복문 내에서 element와 맞는 리스트 내 원소를 발견하면 그 원소를 리턴 → 리스트 내 원소 = some_list[i] , 리턴할 원소 : i Hint 3..