Email Normalizer

Email Normalizer

Medium Python OOP Basics 19 views
Explanation Complexity

Problem Statement

Read n email strings. Create Email class that normalizes (lowercase, trim spaces). Output count of unique normalized emails.

Input Format

First line n. Next n lines emails.

Output Format

One integer count.

Example

5
Ravi@Gmail.com
  ravi@gmail.com
A@B.COM
x@y.com
X@Y.COM
3

Constraints

1

Input / Output Format

Input Format
First line n. Next n lines emails.
Output Format
One integer count.
Constraints
1

Examples

Input:
5 Ravi@Gmail.com ravi@gmail.com A@B.COM x@y.com X@Y.COM
Output:
3

Example Solution (Public)

Python
import sys
lines=sys.stdin.read().splitlines()
if not lines: sys.exit(0)
n=int(lines[0].strip())
class Email:
  def __init__(self,s):
    self.s=s
  def norm(self):
    return self.s.strip().lower()
seen=set()
for i in range(1,1+n):
  e=Email(lines[i] if i<len(lines) else '')
  seen.add(e.norm())
print(len(seen))

Official Solution Code

import sys
lines=sys.stdin.read().splitlines()
if not lines: sys.exit(0)
n=int(lines[0].strip())
class Email:
  def __init__(self,s):
    self.s=s
  def norm(self):
    return self.s.strip().lower()
seen=set()
for i in range(1,1+n):
  e=Email(lines[i] if i<len(lines) else '')
  seen.add(e.norm())
print(len(seen))
Please login to submit solutions.
Editor
Output

                                        
Please login to submit solutions.