Go•unique-email-addresses/solution.go
package main
import "strings"
func numUniqueEmails(emails []string) int {
unique := map[string]bool{}
for _, email := range emails {
parts := strings.SplitN(email, "@", 2)
local := strings.SplitN(parts[0], "+", 2)[0]
local = strings.ReplaceAll(local, ".", "")
unique[local+"@"+parts[1]] = true
}
return len(unique)
}
Python•unique-email-addresses/solution.py
class Solution:
def numUniqueEmails(self, emails: list[str]) -> int:
unique: set[str] = set()
for email in emails:
local, domain = email.split(class="syntax-string">"@")
unique.add(local.split(class="syntax-string">"+")[class="syntax-number">0].replace(class="syntax-string">".", class="syntax-string">"") + class="syntax-string">"@" + domain)
return len(unique)
TypeScript•unique-email-addresses/solution.ts
function numUniqueEmails(emails: string[]): number {
const unique = new Set<string>();
for (const email of emails) { const [local, domain] = email.split(class="syntax-string">"@"); const normalized = local.split(class="syntax-string">"+")[class="syntax-number">0].replaceAll(class="syntax-string">".", class="syntax-string">""); unique.add(normalized + class="syntax-string">"@" + domain); }
return unique.size;
}