프로그래밍

[파이썬 기초] 알고리즘의 개념 / 코딩 연습 - 예제2(선형 탐색 알고리즘)

improvemyday 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 : For 반복문을 다 돌았는데 일치하는 원소를 발견하지 못한 경우

For 반복문 밖에다 리턴

 

==========================================================

 

def linear_search(element, some_list):

     for i in range(len(some_list)):              -----------  Hint 1

          if some_list[i] == element:            -----------  Hint 2

             return i                                 

 

    return None                                    -----------  Hint 3

 

print(linear_search(2, [2, 3, 5, 7, 11]))

print(linear_search(0, [2, 3, 5, 7, 11]))

print(linear_search(5, [2, 3, 5, 7, 11]))

print(linear_search(3, [2, 3, 5, 7, 11])) 

print(linear_search(11, [2, 3, 5, 7, 11])) 

 

0

None

2

1

4

반응형