반응형
SMALL
순차 탐색(sequential search) :
리스트 안에 있는 원소를 하나씩 순차적으로 비교하면서 탐색한다.
순차 탐색 알고리즘
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 ( 리슽으에서 두 번 나오지만 처음 나온 위치만 출력)
print(search_list(v, 900))# -1(리스트에 없음)
학생 번호에 해당하는 학생 이름 찾기
def get_name(s_no, s_name, find_no):
n = len(s_no) # 입력 크기 n
for i in range(0, n):
if find_no == s_no[i]: # 학생 번호가 찾는 학생 번호와 같으면
return s_name[i] # 해당하는 학생 이름을 결과로 반환
return "?" # 자료를 다 뒤져서 못 찾았으면 물음표 반환
sample_no = [39, 14, 67, 105]
sample_name = ["Justin", "John", "Mike", "Summer"]
print(get_name(sample_no, sample_name, 105)) # s_name[3] = Summer 반환
print(get_name(sample_no, sample_name, 777)) # 없는 번호, 물음표 반환
반응형
LIST
'IT & 영상관련 > 파이썬python' 카테고리의 다른 글
python]hackerRank] Text Wrap (저장용) (0) | 2020.07.01 |
---|---|
파이썬] 선택정렬 Selection sort (0) | 2020.06.30 |
파이썬] 재귀함수 이용한 그림그리기(저장용) (0) | 2020.06.30 |
파이썬] 피보나치 수열, fibonacci (0) | 2020.06.30 |
파이썬] 최대 공약수를 구하기(GCD) (0) | 2020.06.30 |