We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
  • HackerRank Home

    HackerRank

  • |
  • Prepare
  • Certify
  • Compete
  • Apply
  • Hiring developers?
  1. Prepare
  2. Python
  3. Closures and Decorators
  4. Standardize Mobile Number Using Decorators
  5. Discussions

Standardize Mobile Number Using Decorators

Problem
Submissions
Leaderboard
Discussions
Editorial

Sort 173 Discussions, By:

recency

Please Login in order to post a comment

  • manpreetsingh871
    2 days ago+ 0 comments
        lis = [(f"+91 {i[-10:-5]} {i[-5:]}") for i in sorted(l)]
        f(lis)
    
    0|
    Permalink
  • thomas_louarn
    3 weeks ago+ 0 comments

    Using f-strings:

    def wrapper(f):
        def fun(l):
            formatted = []
            for number in l:
                formatted.append(f"+91 {number[-10:-5]} {number[-5:]}")
            f(formatted)
        return fun
    
    0|
    Permalink
  • alan_prime567
    3 weeks ago+ 0 comments
    def wrapper(f):
        def fun(l):
            nums = []
            for i in l:
                temp = ['+91',i[-10:-5],i[-5:]]
                nums.append( " ".join(temp))
            f(nums)
        return fun
    
    @wrapper
    def sort_phone(l):
        print(*sorted(l), sep='\n')
    
    if __name__ == '__main__':
        l = [input() for _ in range(int(input()))]
        sort_phone(l) 
    
    0|
    Permalink
  • van00972756
    4 weeks ago+ 0 comments
    import re
    def wrapper(f):
        def fun(l):
            pattern = re.compile(r'^(\+91|91|0){0,1}([\d]{5})([\d]{5})$')
            f([re.sub(pattern,r'+91 \2 \3',i) for i in l])
        return fun
    
    0|
    Permalink
  • henryalejandro21
    4 weeks ago+ 0 comments

    My solution, I would like to know your opinion and if you could give me tips to improve I would be delighted!

    def modify_number(number):
        number = number.replace('+', '')
        if len(number) == 12:
            number = f'+{number[:2]} {number[2:7]} {number[7:]}'
        elif len(number) == 11:
            number = f'+91 {number[1:6]} {number[6:]}'
        else:
            number = f'+91 {number[:5]} {number[5:]}'
    
        return number
    
        
    def wrapper(f):
        def fun(l):
            return f(map(modify_number, l))
        return fun
    
    0|
    Permalink
Load more conversations

Need Help?


View editorial
View top submissions
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy