더북(TheBook)

 

1순차 탐색으로 특정 값의 위치 찾기

 

다음은 순차 탐색 알고리즘을 이용하여 주어진 리스트 [17, 92, 18, 33, 58, 5, 33, 42]에서 특정 값(18, 33, 900)을 찾아서 해당 위치 번호를 돌려주는 프로그램입니다.

 

icon_cakewalk 프로그램 7-1

 

순차 탐색 알고리즘

 

◉ 예제 소스 p07-1-search.py

# 리스트에서 특정 숫자의 위치 찾기

# 입력: 리스트 a, 찾는 값 x

# 출력: 찾으면 그 값의 위치, 찾지 못하면 -1

 

def search_list(a, x):

    n = len(a)              # 입력 크기 n

    for i in range(0, n):   # 리스트 a의 모든 값을 차례로

        if x = = a[i]:      # x 값과 비교하여

            return i        # 같으면 위치를 돌려줍니다.

 

    return -1               # 끝까지 비교해도 없으면 -1을 돌려줍니다.

 

v = [17, 92, 18, 33, 58, 7, 33, 42]

print(search_list(v, 18))   # 2(순서상 세 번째지만, 위치 번호는 2)

print(search_list(v, 33))   # 3(33은 리스트에 두 번 나오지만 처음 나온 위치만 출력)

print(search_list(v, 900))  # -1(900은 리스트에 없음)

 

icon_result 실행 결과

 

2

3

-1

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.