ps:problems:leetcode:929
Unique Email Addresses
ps | |
---|---|
링크 | leetcode.com/… |
출처 | LeetCode |
문제 번호 | 929 |
문제명 | Unique Email Addresses |
레벨 | Easy |
분류 |
기초 |
시간복잡도 | O(nm) |
인풋사이즈 | n<=100, m<=100 |
사용한 언어 | Python |
제출기록 | 52ms / 14.3 MB |
최고기록 | 28ms |
해결날짜 | 2021/09/27 |
풀이
- 시키는 대로 문자열을 변환한 뒤, 유니크한 갯수를 세기만 하면 된다. 문자열 변환은 split과 replace로 적절히 처리하면 되고, 유니크한 개수를 세는 것은 set을 이용하면 된다.
- 한개의 문자열을 변환하는 것은 O(m). n개의 문자열을 변환해서 set에 넣는 것은 O(n*m)이 된다
코드
"""Solution code for "LeetCode 929. Unique Email Addresses".
- Problem link: https://leetcode.com/problems/unique-email-addresses/
- Solution link: http://www.teferi.net/ps/problems/leetcode/929
"""
from typing import List
class Solution:
def numUniqueEmails(self, emails: List[str]) -> int:
emailSet = set()
for email in emails:
local, domain = email.split('@')
forwardedLocal = local.split('+')[0].replace('.', '')
emailSet.add((forwardedLocal, domain))
return len(emailSet)
ps/problems/leetcode/929.txt · 마지막으로 수정됨: 2021/09/27 12:51 저자 teferi
토론