Skip to content

Instantly share code, notes, and snippets.

@Trehana
Created January 2, 2019 18:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Trehana/7bdc662e49f60bb4c62acb1e24cf03e6 to your computer and use it in GitHub Desktop.
Save Trehana/7bdc662e49f60bb4c62acb1e24cf03e6 to your computer and use it in GitHub Desktop.
OfficialAttachedAttributes created by Trehana - https://repl.it/@Trehana/OfficialAttachedAttributes
data_array = {"id":"48a4233a-9a28-4ac9-a1f7-481d5ba95b9d","generatedOn":"2019-01-02T18:52:14.5370184Z","data":[[21,4],[18,9],[22,4],[33,9],[24,5],[26,8],[24,2],[30,7],[33,5],[16,5],[28,4],[21,4],[17,3],[16,7],[25,6],[18,5],[30,2],[17,6],[33,8],[19,2],[28,7],[25,8],[26,7],[21,6],[30,7],[30,8],[18,8],[32,9],[16,8],[32,1],[21,2],[23,8],[21,1],[16,3],[16,2],[31,2],[19,8],[31,9],[31,5],[31,4],[34,5],[34,8],[32,3],[22,9],[20,2],[26,2],[34,2],[32,5],[20,7],[25,5],[28,1],[25,6],[32,6],[27,3],[34,9],[18,6],[34,5],[17,8],[19,6],[34,1],[28,1],[34,9],[26,7],[18,1],[15,4],[29,1],[33,3],[27,9],[33,3],[34,2],[28,1],[34,4],[34,9],[17,4],[15,1],[19,6],[29,5],[31,6],[16,6],[16,2],[24,6],[20,6],[19,1],[28,7],[32,2],[33,9],[26,7],[21,6],[16,6],[34,6],[26,7],[15,9],[17,1],[22,4],[24,1],[31,4],[19,8],[29,1],[31,4],[17,9],[20,4],[26,8],[17,3],[16,9],[18,2],[25,5],[26,5],[26,7],[26,3],[24,2],[28,3],[19,8],[22,5],[29,7],[15,3],[30,7],[24,1],[21,2],[18,2],[32,8],[34,4],[19,3],[25,4],[31,7],[20,1],[24,6],[32,9],[19,9],[19,7],[23,6],[26,3],[33,9],[24,8],[15,5],[18,4],[25,4],[23,6],[18,3],[17,9],[21,1],[29,1],[24,1],[30,2],[31,5],[31,4],[33,5],[30,3],[19,7],[25,3],[31,7],[21,3],[25,8],[24,1],[17,3],[30,1],[32,3],[23,4],[32,6],[31,8],[18,3],[34,5],[27,8],[24,1],[27,2],[23,5],[29,8],[17,6],[28,4],[24,6],[26,6],[16,6],[29,8],[24,7],[16,4],[22,6],[31,6],[16,6],[30,8],[28,7],[22,4],[24,9],[31,3],[21,1],[17,8],[29,5],[17,3],[21,5],[18,4],[30,8],[21,8],[15,3],[31,7],[29,1],[29,6],[31,8],[28,7],[19,2],[18,1],[30,5],[0,0]]}
data_set = data_array[:data]
distance_array = []
bat_array = {}
data_set.each do |d|
distance_array << d[1]
end
total_distance = distance_array.inject(0){|sum,x| sum + x }
index = 0
data_set.each do |d|
xx = index.to_s
bat_array[xx] = []
bat_array[index.to_s] << d[0]
index +=1
end
bat_cap_key_array = bat_array.sort_by {|k,v| v}.reverse
bat_cap_array = []
bat_cap_key_array.each do |d|
bat_cap_array << d[1]
end
sum = data_set[0][1]
idex = 0
cap_array = []
bat_cap_array.each do |ele|
while sum < total_distance
sum += ele[0]
cap_array << ele[0]
idex +=1
end
end
unsorted_array = bat_cap_key_array[0..29]
station_array = []
station_array << 0
unsorted_array.each do |ele|
station_array << ele[0].to_i
end
sorted_station_array = station_array.sort
station_hash = {'answer': sorted_station_array}
station_json = station_hash.to_json
File.open('stations.txt', 'w') do |f|
f << station_json
end
{"answer":[0,3,8,18,29,40,41,42,46,47,52,54,56,59,61,66,68,69,71,72,84,85,89,119,120,126,131,145,155,157,160]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment