상수 목록에 메일 ID 목록이 있다고 가정합니다. 따라서 각 행에 대해 동일한 사람의 메일 ID가 두 개 이상 있을 수 있습니다. j가 있을 때 연락처 i는 중복된 것으로 간주됩니다. 여기서 j
따라서 입력이 연락처 =[["[email protected]", "[email protected]"], ["[email protected]", "[email protected]"], ["bob15@ gmail.com"] ], 첫 번째 연락처와 두 번째 연락처가 동일한 메일 ID를 공유하므로 동일한 사람이므로 두 명의 고유한 사람이 있으므로 출력은 2가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- ans :=0
- 찾음 :=새로운 세트
- 연락처의 각 c에 대해 다음을 수행합니다.
- 진한 :=거짓
- c의 각 이메일에 대해 다음을 수행합니다.
- 이메일을 찾을 수 없으면
- 이메일을 찾은 것으로 표시
- 그렇지 않으면
- 진한 :=사실
- 이메일을 찾을 수 없으면
- dulicate가 False이면
- ans :=ans + 1
- 반환
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def solve(contacts): ans = 0 found = set() for c in contacts: dullicate = False for email in c: if email not in found: found.add(email) else: dullicate = True if not dullicate: ans += 1 return ans contacts = [ ["[email protected]", "[email protected]"], ["[email protected]", "[email protected]"], ["[email protected]"] ] print(solve(contacts))
입력
[["[email protected]", "[email protected]"], ["[email protected]", "[email protected]"], ["[email protected]"] ]
출력
2