더북(TheBook)

     

    3동명이인 찾기 ①

     

    ◼︎ 3-1 두 명을 뽑아 짝으로 만드는 프로그램

    사람이 총 n명일 때 두 명을 뽑아 짝으로 만드는 방법은 동명이인 찾기 문제에서 비교 부분을 출력 문장으로 고치면 쉽게 풀 수 있습니다.

     

    ◉ 예제 소스 e03-1-pairing.py

    # n명에서 두 명을 뽑아 짝으로 만드는 모든 경우를 찾는 알고리즘

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

    # 출력: 두 명을 뽑아 만들 수 있는 모든 짝

     

    def print_pairs(a):

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

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

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

                print(a[i], "-", a[j])

     

    name = ["Tom", "Jerry", "Mike"]

    print_pairs(name)

    print()

    name2 = ["Tom", "Jerry", "Mike", "John"]

    print_pairs(name2)

     

    ◉ 실행 결과

    Tom - Jerry

    Tom - Mike

    Jerry - Mike

     

    Tom - Jerry

    Tom - Mike

    Tom - John

    Jerry - Mike

    Jerry - John

    Mike - John

     

    참고로 n명에서 두 명을 뽑아 짝으로 만들면 짝 조합이 가지 출력됩니다. 이 경우의 수를 nC2라고도 표현합니다.

     

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