알고리즘 Study/이코테

[07이진탐색] 순차 탐색 (p186~p191)

쿠리유짱 2025. 11. 30. 09:20
반응형

[순차 탐색]

  • 리스트 안에 있는 특정한 데이터를 찾기 위해 아펭서부터 데이터를 하나씩 차례대로 확인하는 방법
  • 정렬되지 않은 리스트에서 데이터를 찾아야 할 때 사용됨.

 

  • 리스트의 데이터에 하나씩 방문하여 특정한 문자열과 같은지 검사하는 로직
  • 순차탐색의 용처:
    1. 리스트에 특정 값의 원소가 있는지 체크할 때도 순차 탐색으로 원소를 확인
    2. 리스트 자료형에서 특정한 값을 가지는 원소의 개수를 세는 count() 메서드를 이용할때도 내부에서 순차탐색 수행

 

[소스코드]

# 순차탐색 소스코드 구현
def sequential_search(n, target, array):
    # 각 원소를 하나씩 확인하며
    for i in range(n):
        # 현재의 원소가 찾고자 하는 원소와 동일한 경우
        if array[i] == target:
            return i + 1 # 현재의 위치 반환(인덱스는 0부터 시작하므로 1 더하기)
        
print("생성할 원소 개수를 입력한 다음 한 칸 띄고 찾을 문자열을 입력하세요.")
input_data = input().split()
n = int(input_data[0]) # 원소의 개수
target = input_data[1] # 찾고자 하는 문자열

print("앞서 적은 원소 개수만큼 문자열을 입력하세요. 구분은 띄어쓰기 한 칸으로 합니다.")
array = input().split()

# 순차 탐색 수행 결과 출력
print(sequential_search(n, target,array))

 

[입출력 결과]

 

[시간복잡도]

O(N)

반응형