List Comprehensions - Python HackerRank Solution
Hello Friends, How are you? Today I am going to solve the HackerRank List Comprehensions Problem in Python with a very easy explanation. In this article, you will get one or more approaches to solving this problem. So let's start-
{tocify} $title={Table of Contents}
HackerRank Python List Comprehensions Solution - Problem Statement
Task
Let's learn about list comprehension! You are given three integers x
, y
, and z
representing the dimensions of a cuboid along with an integer n
.
Print a list of all possible coordinates given (i, j, k)
on a 3D grid where the sum of i + j + k
is not equal to n
. Here, 0 <= i <= x
, 0 <= j <= y
, 0 <= k <= z
.
Please use list comprehensions rather than multiple loops, as a learning exercise.
Example
x = 1
y = 1
z = 2
n = 3
All permutations of [i, j, k]
are:
[[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [0, 1, 2], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1], [1, 1, 2]].
Print an array of the elements that do not sum to n = 3
.
[[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 2]]
Input Format
Four integers x
, y
, z
and n
, each on a separate line.
Constraints
Print the list in lexicographic increasing order.
Sample Input 0
1
1
1
2
Sample Output 0
[[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 1, 1]]
Explanation:
Each variable x, y and z will have values of 0 or 1. All permutations of lists in the form [i, j, k] = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0]].
Remove all arrays that sum to n = 2 to leave only the valid permutations.
Python List Comprehensions - Hacker Rank Solution
Approach I: List Comprehensions HackerRank Python Solution
# ========================
# Information
# ========================
# Name: List Comprehensions in Python - HackerRank Solution
# Direct Link: https://www.hackerrank.com/challenges/list-comprehensions/problem
# Difficulty: Easy
# Max Score: 10
# Language: Pypy 3
# ========================
# Solution Start
# ========================
#List Comprehensions in Python - Hacker Rank Solution Start
x = int(input())
y = int(input())
z = int(input())
n = int(input())
print([[i, j, k] for i in range(x + 1) for j in range(y + 1) for k in range(z + 1) if i + j + k != n])
#List Comprehensions in Python - Hacker Rank Solution END
# MyEduWaves
Disclaimer: The above Problem ( Python List Comprehensions ) is generated by Hackerrank but the Solution is Provided by MyEduWaves. This tutorial is only for Educational and Learning purposes. Authority if any queries regarding this post or website fill out the contact form.
I hope you have understood the solution to this HackerRank Problem. All these three solutions will pass all the test cases. Now visit Python List Comprehensions Hackerrank Problem and try to solve it again.
All the Best!
Tags:
HackerRank Python