Hello Programmers/Coders, Today we are going to share solutions of Programming problems of HackerRank of Programming Language Python. At Each Problem with Successful submission with all Test Cases Passed, you will get an score or marks. And after solving maximum problems, you will be getting stars. This will highlight your profile to the recruiters.
In this post, you will find the solution for Decorators 2 – Name Directory in Python-HackerRank Problem. We are providing the correct and tested solutions of coding problems present on HackerRank. If you are not able to solve any problem, then you can take help from our Blog/website.
Use “Ctrl+F” To Find Any Questions Answer. & For Mobile User, You Just Need To Click On Three dots In Your Browser & You Will Get A “Find” Option There. Use These Option to Get Any Random Questions Answer.
Introduction To Python
Python is a widely-used, interpreted, object-oriented, and high-level programming language with dynamic semantics, used for general-purpose programming. It was created by Guido van Rossum, and first released on February 20, 1991.
Python is a computer programming language often used to build websites and software, automate tasks, and conduct data analysis. It is also used to create various machine learning algorithm, and helps in Artificial Intelligence. Python is a general purpose language, meaning it can be used to create a variety of different programs and isn’t specialized for any specific problems. This versatility, along with its beginner-friendliness, has made it one of the most-used programming languages today. A survey conducted by industry analyst firm RedMonk found that it was the most popular programming language among developers in 2020.
Link for the Problem – Decorators 2 – Name Directory in Python – HackerRank Solution
Decorators 2 – Name Directory in Python – HackerRank Solution
Problem:
Let’s use decorators to build a name directory! You are given some information about people. Each person has a first name, last name, age and sex. Print their names in a specific format sorted by their age in ascending order i.e. the youngest person’s name should be printed first. For two people of the same age, print them in the order of their input.
For Henry Davids, the output should be:
Mr. Henry Davids
For Mary George, the output should be:
Ms. Mary George
Input Format
The first line contains the integer , the number of people.
lines follow each containing the space separated values of the first name, last name, age and sex, respectively.
Constraints
Output Format
Output names on separate lines in the format described above in ascending order of age.
Sample Input
3 Mike Thomson 20 M Robert Bustle 32 M Andria Bustle 30 F
Sample Output
Mr. Mike Thomson Ms. Andria Bustle Mr. Robert Bustle
Concept
For sorting a nested list based on some parameter, you can use the itemgetter library. You can read more about it here.
Decorators 2 – Name Directory in Python – HackerRank Solution
import operator def person_lister(f): def inner(people): # Decorators 2 - Name Directory in Python - Hacker Rank Solution START # complete the function return map(f, sorted(people, key=lambda x: int(x[2]))) # Decorators 2 - Name Directory in Python - Hacker Rank Solution END return inner @person_lister def name_format(person): return ("Mr. " if person[3] == "M" else "Ms. ") + person[0] + " " + person[1] if __name__ == '__main__': people = [input().split() for i in range(int(input()))] print(*name_format(people), sep='\n')
Superb site you have here but I was wanting to know if you knew of any message boards that cover the same topics talked about here? I’d really like to be a part of community where I can get opinions from other experienced people that share the same interest. If you have any recommendations, please let me know. Thank you!