더북(TheBook)

◼︎ 7-2 프로그램 7-1의 계산 복잡도

O(n)입니다. 연습 문제 7-1 프로그램은 찾는 값이 탐색 중간에 나오더라도 탐색을 멈추지 않고 혹시 더 있을 자료 값을 찾기 위해 끝까지 탐색을 해야 합니다. 따라서 어떤 경우에도 비교가 n번 필요합니다.

 

◼︎ 7-3 학생 번호에 해당하는 학생 이름 찾기

 

◉ 예제 소스 e07-3-getname.py

# 학생 번호에 해당하는 학생 이름 찾기

# 입력: 학생 번호 리스트 s_no, 학생 이름 리스트 s_name, 찾는 학생 번호 find_no

# 출력: 해당하는 학생 이름, 해당하는 학생 이름이 없으면 물음표 "?"

 

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))

print(get_name(sample_no, sample_name, 777))

 

◉ 실행 결과

Summer

?

 

 

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