python 동명이인 찾기
예시 리스트 생성
name = ['Tom', 'Jerry', 'Mike', 'Julia', 'Tom']
- 어떻게 풀지 생각해보자
- 첫 번째 Tom을 뒤에 있는 'Jerry', 'Mike', 'Julia', 'Tom'와 차례료 비교
- 첫 번째 Tom과 마지막 Tom은 동명이인이다.
- 두 번째 Jerry 뒤에 있는 'Mike', 'Julia', 'Tom'와 비교
- 세 번째 Mike 뒤에 있는 'Julia', 'Tom' 비교
- 네 번째 Julia 뒤에 있는 Tom과 비교
- 마지막 Tom은 비교 안 해도 된다(이미 앞에서 비교했음)
- 같은 이름은 Tom 하나 뿐이다.
주의사항
-
비교할 이름을 뽑은 다음에는 뽑은 이름이 순사상 뒤에 있는 이름하고만 비교하면 된다.
-
리스트의 마지막 이름을 기준으로는 비교하지 않아도 된다.
-
같은 이름을 찾으면 결과 집합에 그 이름을 추가한다.
코드 구현
def find_same_name(a):
n = len(a)
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', 'Julia', 'Tom']
print(find_same_name(name))
# 결과 :{'Tom'}
집합에서는 어떤 자료가 집합에 들어 있는지만 중요할 뿐, 그 자료들의 순서는 중요하지 않다.
Author And Source
이 문제에 관하여(python 동명이인 찾기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@joo4438/python-동명이인-찾기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)