In [97]:
import datetime
import pprint as pp
def time_translator(lines):
line_list = []
for sequence in lines:
sequence = sequence[sequence.index("“")+1: sequence.index("”")].split(" ")
sequence_time = datetime.datetime.strptime(sequence[0]+" "+sequence[1],'%Y-%m-%d %H:%M:%S.%f')
line_list.append(sequence_time)
return line_list
def traffic_time(lines):
traffic_list = []
for sequence in lines:
sequence = sequence[sequence.index("“")+1: sequence.index("”")].split(" ")
sequence = float(sequence[2].replace("s",""))
sequence = [datetime.timedelta(seconds = sequence-0.001),datetime.timedelta(seconds = 1)]
traffic_list.append(sequence)
return traffic_list
def solution(line_list, traffic_list):
count = []
for i in range(len(line_list)):
max_time = []
max_time.append(line_list[i])
for j in range(len(line_list)):
if line_list[j]-traffic_list[j][0] < line_list[i] + traffic_list[j][1] < line_list[j] :
max_time.sort()
max_time.append(line_list[j]-traffic_list[j][0])
elif line_list[j]-traffic_list[j][0] < line_list[i] - traffic_list[i][0] < line_list[j]:
max_time.sort()
max_time.append(line_list[j])
else:
pass
try:
while max(max_time) - min(max_time) > traffic_list[0][1]:
if len(max_time) == 1:
break
elif max_time[max_time.index(max(max_time))-1] - min(max_time) <= traffic_list[0][1]:
max_time.remove(max(max_time))
elif max(max_time) - max_time[max_time.index(min(max_time))+1] <= traffic_list[0][1]:
max_time.remove(min(max_time))
else:
pass
count.append(len(max_time))
except:
ValueError
return max(count)
def main():
lines = input().split(",")
traffic_list = traffic_time(lines)
line_list = time_translator(lines)
return solution(line_list,traffic_list)
In [81]:
print(main())
In [82]:
print(main())
In [98]:
print(main())
In [ ]: