Today we will see the HackerRank Day 20 Solution in Python. The problem is named Sorting, part of 30 Days of code on HackerRank. Let’s get started!
Day 20: Sorting Problem statement
We are given an array of size n with distinct elements, our task is to sort the array in ascending order using the Bubble Sort algorithm. Once sorted, we have to print the number of swaps required to sort the array, the first element of the sorted array, and the last element of the sorted array.
Sample Input
3 3 2 1
Sample Output
Array is sorted in 3 swaps. First Element: 1 Last Element: 3
Explanation: The array is not sorted, so we perform 3 swaps to sort the array. After swapping 1 and 3 are the first and last element
You can solve the problem here.
HackerRank Day 20 Solution in Python
#!/bin/python3 import math import os import random import re import sys if __name__ == '__main__': #Get number of array elements n = int(input().strip()) #get array elements a = list(map(int, input().rstrip().split())) #Variable to store count of swaps swap_count = 0 #Iterate through the array n times for i in range(n): for j in range(i+1,n): if a[i]>a[j]: a[i],a[j] = a[j],a[i] swap_count+=1 print("Array is sorted in {} swaps.".format(swap_count)) print("First Element: {}".format(a[0])) print("Last Element: {}".format(a[-1]))
Code Explanation
- First, we created a variable swap_count to store the count of swaps
- Then, we iterate through the loop to compare elements and swap in the ascending order
- If the element is swapped the swap_count variable is incremented by 1
- Then print the number of swaps required to sort the array, the first element of the sorted array, and the last element of the sorted array.
Also Read:
- HackerRank Day 8 Solution in Python: Dictionaries and Maps
- HackerRank Day 7 Solution in Python: Arrays
- HackerRank Day 6 Solution in Python: Let’s review
- HackerRank Day 5 Solution in Python: Loops
- HackerRank Day 4 Solution in Python: Class vs Instance
- HackerRank Day 3 Solution in Python: Intro to Conditional Statements
- HackerRank Day 2 Solution in Python: Operators
- HackerRank Day 1 Solution in Python: Data Types
- HackerRank Day 0 Solution in Python: Hello World
- HackerRank Day 29 Solution in Python: Bitwise AND
- HackerRank Day 28 Solution in Python: RegEx, Patterns, and Intro to databases
- HackerRank Day 27 Solution in Python: Testing
- HackerRank Day 26 Solution in Python: Nested Logic
- HackerRank Day 25 Solution in Python: Running Time and Complexity
- HackerRank Day 24 Solution in Python: More Linked Lists
- HackerRank Day 23 Solution in Python: BST Level Order Traversal
- HackerRank Day 22 Solution in Python: Binary Search Trees
- HackerRank Day 20 Solution in Python: Sorting
- HackerRank Day 19 Solution in Python: Interfaces
- HackerRank Day 18 Solution in Python: Queues and Stacks
- HackerRank Day 17 Solution in Python: More Exceptions
- HackerRank Day 16 Solution: Exceptions – String to Integer
- HackerRank Day 15 Solution in Python: Linked List
- HackerRank Day 13 Solution in Python: Abstract Classes
- HackerRank Day 14 Solution in Python: Scope
- HackerRank Day 12 Solution in Python: Inheritance
- HackerRank Day 11 Solution in Python: 2D Arrays
- HackerRank Day 10 Solution in Python: Binary Numbers