Home / Development / Software Development / Python / HackerRank Challenges

# HackerRank Python Challenges

In this article I show how I solved HackerRank Python challenges. The main purpose of the content is to present my acquired experiences primarily for learning purposes.

Other categories:

Introduction

Basic Data Types

Strings

Sets

Itertools

Collections

Built-Ins

Numpy

Others

## Built-Ins

### Zipped!

**Task:**

The National University conducts an examination of *N* students in *X* subjects.
Your task is to compute the average scores of each student.

**Solution:**

nx = input().split() x = int(nx[1]) subjects = list() for i in range(x): subject = [float(x) for x in input().split()] subjects.append(subject) for i in zip(*subjects): sum_per_student = 0 for j in i: sum_per_student += j print(sum_per_student / x)

### Input()

**Task:**

You are given a polynomial *P* of a single indeterminate (or variable), *x*.
You are also given the values of *x* and *k*. Your task is to verify if *P(x) = k*.

**Solution:**

first = input().split() second = input() new_str = second.replace('x', first[0]) print(eval(new_str) == int(first[1]))

### Python Evaluation

**Task:**

You are given an expression in a line.
Read that line as a string variable, such as var, and print the result using eval(var).

**Solution:**

eval(input())

### Athlete Sort

**Task:**

You are given a spreadsheet that contains a list of *N* athletes and their details (such as age, height, weight and so on).
You are required to sort the data based on the *K*th attribute and print the final resulting table.
Note that *K* is indexed from 0 to *M* - 1, where *M* is the number of attributes.

**Solution:**

nm = input().split() arr = [] for i in range(int(nm[0])): arr.append(list(map(int, input().rstrip().split()))) sort_col = int(input()) arr = sorted(arr, key=lambda l:l[sort_col], reverse=False) for i in arr: row = '' for j in i: row += str(j) + ' ' print(row)

### Any or All

**Task:**

You are given a space separated list of integers.
If all the integers are positive, then you need to check if any integer is a palindromic integer.

**Solution:**

num = input() lst = input().split() lst_int = list(map(int, lst)) ret = False if all(x > 0 for x in lst_int): for i in lst: if i == i[::-1]: ret = True print(ret)

### ginortS

**Task:**

You are given a string *S*.
*S* contains alphanumeric characters only.
Your task is to sort the string in the following manner:

- All sorted lowercase letters are ahead of uppercase letters.
- All sorted uppercase letters are ahead of digits.
- All sorted odd digits are ahead of sorted even digits.

**Solution:**

s = input() lowercase = [] uppercase = [] odd_num = [] even_num = [] for i in s: if i.islower(): lowercase.append(i) elif i.isupper(): uppercase.append(i) elif i.isnumeric(): if int(i) % 2 == 0: even_num.append(i) else: odd_num.append(i) lowercase.sort() uppercase.sort() even_num.sort() odd_num.sort() lst = lowercase + uppercase + odd_num + even_num ret = '' for i in lst: ret += i print(ret)