List Comprehensions Python Hackerrank solution

Admin

List Comprehensions Python Hackerrank solution

 Let's learn about list comprehensions! 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 by (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 = 1

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

[[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 0

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],[1,1,2]]

Remove all arrays that sum to n=2 to leave only the valid permutations.

Sample Input 1

2
2
2
2
Sample Output 1

[[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 2], [0, 2, 1], [0, 2, 2], [1, 0, 0], [1, 0, 2], [1, 1, 1], [1, 1, 2], [1, 2, 0], [1, 2, 1], [1, 2, 2], [2, 0, 1], [2, 0, 2], [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 2, 0], [2, 2, 1], [2, 2, 2]]

Solution

x = int(raw_input())
y = int(raw_input())
z = int(raw_input())
N = int(raw_input())
arr = [[X, Y, Z] for X in range(x+1) for Y in range(y+1) for Z in range(z+1) if X + Y + Z != N]
print(arr)

Post a Comment

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.