diff --git a/Collections/CollectionsOrderedDict.py b/Collections/CollectionsOrderedDict.py index 77a4f33..f985a24 100644 --- a/Collections/CollectionsOrderedDict.py +++ b/Collections/CollectionsOrderedDict.py @@ -2,24 +2,29 @@ Title : Collections.OrderedDict() Subdomain : Collections Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 -Updated : 08 February 2023 +Updated : 26 November 2024 Problem : https://www.hackerrank.com/challenges/py-collections-ordereddict/problem """ -import collections -import re +from collections import OrderedDict -n = int(input()) -item_od = collections.OrderedDict() -for _ in range(n): - record_list = re.split(r"(\d+)$", input().strip()) - item_name = record_list[0] - item_price = int(record_list[1]) - if item_name not in item_od: - item_od[item_name] = item_price - else: - item_od[item_name] = item_od[item_name] + item_price -for i in item_od: - print(f"{i}{item_od[i]}") + +if __name__ == '__main__': + ordered_dictionary = OrderedDict() + + n = int(input()) + + for _ in range(n): + s = list(input().split()) + price = int(s[len(s) - 1]) + name = ' '.join(s[:len(s) - 1]) + + if ordered_dictionary.get(name): + ordered_dictionary[name] += price + else: + ordered_dictionary[name] = price + + for key, value in ordered_dictionary.items(): + print(key, value) diff --git a/Collections/collectionsCounter.py b/Collections/collectionsCounter.py index 17e5e18..76356f5 100644 --- a/Collections/collectionsCounter.py +++ b/Collections/collectionsCounter.py @@ -2,18 +2,28 @@ Title : collections.Counter() Subdomain : Collections Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 26 November 2024 Problem : https://www.hackerrank.com/challenges/collections-counter/problem """ +import collections + + +if __name__ == '__main__': + total_shoes = int(input()) + shoe_sizes = list(map(int, input().split())) + inventory = collections.Counter(shoe_sizes) + + total_customers = int(input()) + total_revenue = 0 + + for _ in range(total_customers): + size, price = map(int, input().split()) + if inventory.get(size) and inventory[size] > 0: + total_revenue += price + inventory[size] -= 1 + + print(total_revenue) + -x = int(input()) -shoe_size = list(map(int, input().split())) -n = int(input()) -sell = 0 -for _ in range(n): - s, p = map(int, input().split()) - if s in shoe_size: - sell = sell + p - shoe_size.remove(s) -print(sell) diff --git a/Numpy/ArrayMathematics.py b/Numpy/ArrayMathematics.py index dbcea78..58f7ebc 100644 --- a/Numpy/ArrayMathematics.py +++ b/Numpy/ArrayMathematics.py @@ -2,27 +2,23 @@ Title : Array Mathematics Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-array-mathematics/problem """ +import numpy as np -import numpy +if __name__ == '__main__': + n, m = map(int, input().split()) -n, m = map(int, input().split()) -ar1 = [] -ar2 = [] -for _ in range(n): - tmp = list(map(int, input().split())) - ar1.append(tmp) -for _ in range(n): - tmp = list(map(int, input().split())) - ar2.append(tmp) -np_ar1 = numpy.array(ar1) -np_ar2 = numpy.array(ar2) -print(np_ar1 + np_ar2) -print(np_ar1 - np_ar2) -print(np_ar1 * np_ar2) -print(np_ar1 // np_ar2) -print(np_ar1 % np_ar2) -print(np_ar1**np_ar2) + + ar1 = np.array([input().split() for _ in range(n)], int) + ar2 = np.array([input().split() for _ in range(n)], int) + + print(ar1 + ar2) + print(ar1 - ar2) + print(ar1 * ar2) + print(ar1 // ar2) + print(ar1 % ar2) + print(ar1 ** ar2) diff --git a/Numpy/Arrays.py b/Numpy/Arrays.py index fb25c9f..89415b2 100644 --- a/Numpy/Arrays.py +++ b/Numpy/Arrays.py @@ -2,13 +2,18 @@ Title : Arrays Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-arrays/problem """ import numpy -ar = list(map(float, input().split())) -np_ar = numpy.array(ar, float) -print(np_ar[::-1]) +def arrays(arr): + np_ar = numpy.array(arr, float) + return np_ar[::-1] + +arr = input().strip().split(' ') +result = arrays(arr) +print(result) diff --git a/Numpy/Concatenate.py b/Numpy/Concatenate.py index 1cb7bb5..2779078 100644 --- a/Numpy/Concatenate.py +++ b/Numpy/Concatenate.py @@ -2,23 +2,26 @@ Title : Concatenate Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-concatenate/problem """ -import numpy +import numpy as np -n, m, p = map(int, input().split()) -ar1 = [] -ar2 = [] -for _ in range(n): - tmp = list(map(int, input().split())) - ar1.append(tmp) -for _ in range(m): - tmp = list(map(int, input().split())) - ar2.append(tmp) -np_ar1 = numpy.array(ar1) -np_ar2 = numpy.array(ar2) -print(numpy.concatenate((np_ar1, np_ar2), axis=0)) +if __name__ == '__main__': + n, m, p = map(int, input().split()) + + arr1 = [] + arr2 = [] + for _ in range(n): + tmp = list(map(int, input().split())) + arr1.append(tmp) + for _ in range(m): + tmp = list(map(int, input().split())) + arr2.append(tmp) + np_arr1 = np.array(arr1) + np_arr2 = np.array(arr2) + print(np.concatenate((np_arr1, np_arr2), axis=0)) diff --git a/Numpy/DotandCross.py b/Numpy/DotandCross.py index 1ac9c13..c8e8c58 100644 --- a/Numpy/DotandCross.py +++ b/Numpy/DotandCross.py @@ -2,22 +2,17 @@ Title : Dot and Cross Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-dot-and-cross/problem """ +import numpy as np -import numpy +if __name__ == '__main__': + n = int(input()) -n = int(input()) -ar1 = [] -ar2 = [] -for _ in range(n): - tmp = list(map(int, input().split())) - ar1.append(tmp) -np_ar1 = numpy.array(ar1) -for _ in range(n): - tmp = list(map(int, input().split())) - ar2.append(tmp) -np_ar2 = numpy.array(ar2) -print(numpy.dot(np_ar1, np_ar2)) + arr1 = np.array([input().split() for _ in range(n)], int) + arr2 = np.array([input().split() for _ in range(n)], int) + + print(np.dot(arr1, arr2)) diff --git a/Numpy/EyeandIdentity.py b/Numpy/EyeandIdentity.py index 4b0765e..9cd574a 100644 --- a/Numpy/EyeandIdentity.py +++ b/Numpy/EyeandIdentity.py @@ -2,14 +2,16 @@ Title : Eye and Identity Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 -Updated : 17 March 2021 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-eye-and-identity/problem """ import numpy as np -np.set_printoptions(legacy="1.13") -n, m = map(int, input().split()) -print(np.eye(n, m, k=0)) + +if __name__ == '__main__': + np.set_printoptions(legacy="1.13") + n, m = map(int, input().split()) + print(np.eye(n, m, k=0)) diff --git a/Numpy/FloorCeilandRint.py b/Numpy/FloorCeilandRint.py index 7c79c5e..e46f521 100644 --- a/Numpy/FloorCeilandRint.py +++ b/Numpy/FloorCeilandRint.py @@ -2,19 +2,21 @@ Title : Floor, Ceil and Rint Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 -Updated : 17 March 2021 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/floor-ceil-and-rint/problem """ import numpy as np -np.set_printoptions(legacy="1.13") -A = np.array(input().split(), float) -print(np.floor(A)) -print(np.ceil(A)) -print(np.rint(A)) -# Alternate solution -# print(*(f(A) for f in [np.floor, np.ceil, np.rint]), sep='\n') +if __name__ == '__main__': + np.set_printoptions(legacy="1.13") + arr = np.array(input().split(), float) + print(np.floor(arr)) + print(np.ceil(arr)) + print(np.rint(arr)) + + # Alternate solution + # print(*(f(A) for f in [np.floor, np.ceil, np.rint]), sep='\n') diff --git a/Numpy/InnerandOuter.py b/Numpy/InnerandOuter.py index b3919ea..c7735d0 100644 --- a/Numpy/InnerandOuter.py +++ b/Numpy/InnerandOuter.py @@ -2,14 +2,17 @@ Title : Inner and Outer Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-inner-and-outer/problem """ +import numpy as np -import numpy -np_ar1 = numpy.array(list(map(int, input().split()))) -np_ar2 = numpy.array(list(map(int, input().split()))) -print(numpy.inner(np_ar1, np_ar2)) -print(numpy.outer(np_ar1, np_ar2)) +if __name__ == '__main__': + arr1 = np.array(list(map(int, input().split()))) + arr2 = np.array(list(map(int, input().split()))) + + print(np.inner(arr1, arr2)) + print(np.outer(arr1, arr2)) diff --git a/Numpy/LinearAlgebra.py b/Numpy/LinearAlgebra.py index dc1c4cf..4959d1d 100644 --- a/Numpy/LinearAlgebra.py +++ b/Numpy/LinearAlgebra.py @@ -2,15 +2,16 @@ Title : Linear Algebra Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 -Updated : 3 April 2021 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-linear-algebra/problem """ - import numpy as np -np.set_printoptions(legacy="1.13") -n = int(input()) -array = np.array([input().split() for _ in range(n)], float) -print(np.linalg.det(array)) + +if __name__ == '__main__': + np.set_printoptions(legacy="1.13") + n = int(input()) + array = np.array([input().split() for _ in range(n)], float) + print(np.linalg.det(array)) diff --git a/Numpy/MeanVarandStd.py b/Numpy/MeanVarandStd.py index 6896a22..9a5e613 100644 --- a/Numpy/MeanVarandStd.py +++ b/Numpy/MeanVarandStd.py @@ -2,20 +2,18 @@ Title : Mean, Var, and Std Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 -Updated : 24 June 2023 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-mean-var-and-std/problem """ +import numpy as np -import numpy -n, m = map(int, input().split()) -ar = [] -for _ in range(n): - tmp = list(map(int, input().split())) - ar.append(tmp) -np_ar = numpy.array(ar) -print(numpy.mean(np_ar, axis=1)) -print(numpy.var(np_ar, axis=0)) -print(round(numpy.std(np_ar, axis=None), 11)) +if __name__ == '__main__': + n, m = map(int, input().split()) + arr = np.array([input().split() for _ in range(n)], int) + + print(np.mean(arr, axis=1)) + print(np.var(arr, axis=0)) + print(round(np.std(arr, axis=None), 11)) diff --git a/Numpy/MinandMax.py b/Numpy/MinandMax.py index c842939..cb43bba 100644 --- a/Numpy/MinandMax.py +++ b/Numpy/MinandMax.py @@ -2,17 +2,16 @@ Title : Min and Max Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-min-and-max/problem """ +import numpy as np -import numpy -n, m = map(int, input().split()) -ar = [] -for _ in range(n): - tmp = list(map(int, input().split())) - ar.append(tmp) -np_ar = numpy.array(ar) -print(numpy.max(numpy.min(np_ar, axis=1))) +if __name__ == '__main__': + n, m = map(int, input().split()) + arr = np.array([input().split() for _ in range(n)], int) + result = np.max(np.min(arr, axis=1)) + print(result) diff --git a/Numpy/Polynomials.py b/Numpy/Polynomials.py index 977dad5..3510ba5 100644 --- a/Numpy/Polynomials.py +++ b/Numpy/Polynomials.py @@ -2,13 +2,15 @@ Title : Polynomials Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-polynomials/problem """ +import numpy as np -import numpy -p = numpy.array(list(map(float, input().split())), float) -x = float(input()) -print(numpy.polyval(p, x)) +if __name__ == '__main__': + p = np.array(list(map(float, input().split())), float) + x = float(input()) + print(np.polyval(p, x)) diff --git a/Numpy/ShapeandReshape.py b/Numpy/ShapeandReshape.py index 06724cc..40a91a6 100644 --- a/Numpy/ShapeandReshape.py +++ b/Numpy/ShapeandReshape.py @@ -2,13 +2,16 @@ Title : Shape and Reshape Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-shape-reshape/problem """ -import numpy +import numpy as np -ar = list(map(int, input().split())) -np_ar = numpy.array(ar) -print(numpy.reshape(np_ar, (3, 3))) + +if __name__ == '__main__': + array = list(map(int, input().split())) + np_arr = np.array(array) + print(np.reshape(np_arr, (3, 3))) diff --git a/Numpy/SumandProd.py b/Numpy/SumandProd.py index 7e7295b..da2122e 100644 --- a/Numpy/SumandProd.py +++ b/Numpy/SumandProd.py @@ -2,18 +2,18 @@ Title : Sum and Prod Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-sum-and-prod/problem """ +import numpy as np -import numpy -n, m = map(int, input().split()) -ar = [] -for _ in range(n): - tmp = list(map(int, input().split())) - ar.append(tmp) -np_ar = numpy.array(ar) -s = numpy.sum(np_ar, axis=0) -print(numpy.prod(s)) +if __name__ == '__main__': + n, m = map(int, input().split()) + + arr = np.array([input().split() for _ in range(n)], int) + + s = np.sum(arr, axis=0) + print(np.prod(s)) diff --git a/Numpy/TransposeandFlatten.py b/Numpy/TransposeandFlatten.py index d8d7e12..35ca6a9 100644 --- a/Numpy/TransposeandFlatten.py +++ b/Numpy/TransposeandFlatten.py @@ -2,19 +2,22 @@ Title : Transpose and Flatten Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-transpose-and-flatten/problem """ -import numpy +import numpy as np -n, m = map(int, input().split()) -ar = [] -for _ in range(n): - row = list(map(int, input().split())) - ar.append(row) -np_ar = numpy.array(ar) -print(numpy.transpose(np_ar)) -print(np_ar.flatten()) +if __name__ == '__main__': + n, m = map(int, input().split()) + arr = [] + for _ in range(n): + row = list(map(int, input().split())) + arr.append(row) + + np_arr = np.array(arr) + print(np.transpose(np_arr)) + print(np_arr.flatten()) diff --git a/Numpy/ZerosandOnes.py b/Numpy/ZerosandOnes.py index 7092829..499661b 100644 --- a/Numpy/ZerosandOnes.py +++ b/Numpy/ZerosandOnes.py @@ -2,14 +2,18 @@ Title : Zeros and Ones Subdomain : Numpy Domain : Python -Author : Ahmedur Rahman Shovon +Author : Md Samshad Rahman Created : 15 July 2016 +Updated : 25 November 2024 Problem : https://www.hackerrank.com/challenges/np-zeros-and-ones/problem """ -import numpy -n_ar = list(map(int, input().split())) -n = tuple(n_ar) -print(numpy.zeros(n, dtype=int)) -print(numpy.ones(n, dtype=int)) +import numpy as np + + +if __name__ == '__main__': + n_arr = list(map(int, input().split())) + n = tuple(n_arr) + print(np.zeros(n, dtype=np.int32)) + print(np.ones(n, dtype=np.int32))