icon_cakewalk 프로그램 3-1

     

    동명이인을 찾는 알고리즘

     

    ◉ 예제 소스 p03-1-samename.py

    # 두 번 이상 나온 이름 찾기

    # 입력: 이름이 n개 들어 있는 리스트

    # 출력: 이름 n개 중 반복되는 이름의 집합

     

    def find_same_name(a):

        n = len(a)                     # 리스트의 자료 개수를 n에 저장

        result = set()                 # 결과를 저장할 빈 집합

        for i in range(0, n -1):       # 0부터 n -2까지 반복

            for j in range(i + 1, n):  # i+1부터 n -1까지 반복

                if a[i] = = a[j]:      # 이름이 같으면

                    result.add(a[i])   # 찾은 이름을 result에 추가

        return result

     

    name = [“Tom”, “Jerry”, “Mike”, “Tom”] # 대소문자 유의: 파이썬은 대소문자를 구분함

    print(find_same_name(name))

    name2 = [“Tom”, “Jerry”, “Mike”, “Tom”, “Mike”]

    print(find_same_name(name2))

     

    icon_result 실행 결과

     

    {‘Tom’}

    {‘Mike’, ‘Tom’}

     

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