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라고도 표현합니다.