◼︎ 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

    ?

     

     

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