사용자 도구

사이트 도구


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)

토론

댓글을 입력하세요:
I F X M M
 
ps/problems/leetcode/929.txt · 마지막으로 수정됨: 2021/09/27 12:51 저자 teferi