diff --git a/jj_challenge_1.py b/jj_challenge_1.py new file mode 100644 index 0000000..e15613b --- /dev/null +++ b/jj_challenge_1.py @@ -0,0 +1,19 @@ +import pandas as pd +import os + +# read data into a dataframe and split by L, W, H +data = pd.read_csv("list_of_presents.csv", sep = "x", header = 0, names = ["Length", "Width", "Height"]) + +def total_material(L,W,H): + sa = 2*(L*W+W*H+H*L) + sorted_dims = sorted([L, W, H]) + min = sorted_dims[0] + mid = sorted_dims[1] + max = sorted_dims[2] + extra = min*mid + total = sa + extra + return total + +data['result'] = data.apply(lambda row: total_material(row['Length'], row['Width'], row['Height']), axis=1) + +print(f"Total wrappping material needed: {data.result.sum()}") diff --git a/list_of_presents.csv b/list_of_presents.csv new file mode 100644 index 0000000..3102b20 --- /dev/null +++ b/list_of_presents.csv @@ -0,0 +1,101 @@ +Box Dimensions +2x1x5 +4x4x3 +2x9x2 +10x7x1 +1x2x4 +4x9x10 +1x9x4 +9x7x4 +8x10x5 +1x3x7 +6x5x3 +4x6x2 +2x7x2 +6x6x10 +5x1x8 +9x2x7 +2x9x5 +10x6x10 +4x2x1 +4x5x2 +4x2x7 +5x8x6 +3x6x6 +4x5x2 +10x3x9 +4x3x8 +7x5x9 +4x6x1 +4x1x6 +7x5x2 +4x10x6 +4x8x7 +8x3x5 +3x4x9 +9x5x10 +7x10x7 +6x4x3 +9x8x2 +1x2x3 +3x7x10 +2x7x7 +10x8x9 +5x9x1 +2x9x5 +6x2x5 +7x3x8 +1x5x9 +3x9x2 +5x9x10 +4x3x6 +3x9x9 +1x10x6 +8x1x2 +6x5x4 +1x4x10 +2x2x8 +2x9x3 +3x8x9 +3x5x9 +10x7x4 +9x4x5 +7x6x8 +9x8x2 +4x4x2 +6x1x10 +9x4x10 +4x1x2 +1x4x2 +1x6x2 +9x4x5 +8x4x9 +3x10x10 +8x4x8 +7x4x2 +2x7x6 +7x7x8 +1x2x1 +7x6x2 +4x4x4 +9x8x3 +7x3x5 +8x4x2 +8x9x2 +1x9x1 +2x4x3 +7x8x8 +4x7x1 +3x7x1 +7x5x8 +5x7x9 +8x3x4 +5x4x1 +10x9x1 +6x1x1 +10x8x9 +9x3x1 +9x2x3 +2x10x2 +4x7x2 +10x4x10