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 Piling Up 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 – Piling Up in python – HackerRank Solution
Piling Up in python – HackerRank Solution
Problem:
There is a horizontal row of n cubes. The length of each cube is given. You need to create a new vertical pile of cubes. The new pile should follow these directions: if cubei is on top of cubej then sideLengthj >= sideLengthi.
When stacking the cubes, you can only pick up either the leftmost or the rightmost cube each time. Print “Yes” if it is possible to stack the cubes. Otherwise, print “No”. Do not print the quotation marks.
Input Format :
The first line contains a single integer T, the number of test cases.
For each test case, there are 2 lines.
The first line of each test case contains n, the number of cubes.
The second line contains n space separated integers, denoting the sideLengths of each cube in that order.
Constraints :
- 1 <= T <= 5
- 1 <= n <= 10^5
- 1 <= sideLength <= 2^31
Output Format :
For each test case, output a single line containing either “Yes” or “No” without the quotes.
Sample Input :
2 6 4 3 2 1 3 4 3 1 3 2
Sample Output :
Yes No
Explanation :
In the first test case, pick in this order: left -4 , right -4 , left -3 , right – 3, left – 2, right – 1. In the second test case, no order gives an appropriate arrangement of vertical cubes. 3 will always come after either 1 or 2.
Piling Up in python – HackerRank Solution
from collections import deque N = int(input()) for _ in range(N): flag = True input() d = deque(map(int, input().strip().split())) if(d[0] >= d[-1]): max = d.popleft() else: max = d.pop() while d: if(len(d)==1): if(d[0] <= max): break else: flag = False break else: if(d[0]<=max and d[-1]<=max): if(d[0]>=d[-1]): max = d.popleft() else: max = d.pop() elif(d[0]<=max): max = d.popleft() elif(d[-1]<=max): max = d.pop() else: flag = False break if flag: print("Yes") else: print("No")