반응형
SMALL

동명이인을 찾는 알고리즘

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

 

두 명을 뽑아 짝으로 만드는 프로그램

def Two_name(a):
    n = len(a)              		# 리스트의 자료 개수를 n에 저장
    for i in range(0, n-1):         # 0부터 n-1까지 반복
        for j in range(i+1, n):     # i +1 부터 n-1까지 반복
            print(a[i], '-', a[j])  
    
name = ['Tom','Jerry','MiKe'] 
Two_name(name)
print()
name2 = ['Tom','Jerry','MiKe','John'] 
Two_name(name2)
반응형
LIST

+ Recent posts