반응형
def solution(lines):
answer = 0
arr = []
for i in lines:
tmp = i.split(" ")
print(tmp)
T_sec = float(tmp[2][:-1])
end_time = int(tmp[1][:2])*3600000 + int(tmp[1][3:5])*60000 + int(tmp[1][6:8])*1000 + int(tmp[1][-3:])
start_time = end_time - T_sec*1000 + 1
print("S :" , start_time)
print("T_sec : ", T_sec*1000)
print("E :" , end_time)
arr.append((end_time,-1))
arr.append((start_time,1))
arr = sorted(arr)
print(arr)
count = 0
for i in range(len(arr)):
# 연다
if i[1] == 1:
count += 1
else:
return answer
59%의 정확도
def solution(lines):
answer = 0
if len(lines) == 1:
return 1
arr = []
for i in lines:
tmp = i.split(" ")
T_sec = float(tmp[2][:-1])
end_time = int(tmp[1][:2])*3600000 + int(tmp[1][3:5])*60000 + int(tmp[1][6:8])*1000 + int(tmp[1][-3:])
start_time = end_time - T_sec*1000 + 1
arr.append((end_time,-1))
arr.append((start_time,1))
arr = sorted(arr)
count = 0
cnt_arr = []
intersect = 0
num_of_bar = 0
print(arr)
for i in range(len(arr)):
if arr[i][0] < 0:
continue
if arr[i][1] == -1:
num_of_bar -= 1
count += 1
else:
num_of_bar+= 1
duration_time = arr[i][0] + 999
for j in range(i,len(arr)):
if arr[j][0] > duration_time:
#print(arr[j])
break
if arr[j][0] <= duration_time and arr[j][1] == 1:
#print(arr[j])
count += 1
count += num_of_bar
cnt_arr.append(count)
count = 0
print(cnt_arr)
if max(cnt_arr) != 1:
return max(cnt_arr)-1
else:
return max(cnt_arr)
return answer
63%의 정확도
def solution(lines):
answer = 0
if len(lines) == 1:
return 1
arr = []
len_num = 0
for i in lines:
tmp = i.split(" ")
T_sec = float(tmp[2][:-1])
end_time = int(tmp[1][:2])*3600000 + int(tmp[1][3:5])*60000 + int(tmp[1][6:8])*1000 + int(tmp[1][-3:])
start_time = end_time - T_sec*1000 + 1
arr.append((end_time,-1,len_num))
arr.append((start_time,1,len_num))
len_num += 1
arr = sorted(arr)
count = 0
cnt_arr = []
arr2 = [0]*len_num
for i in range(len(arr)):
count += sum(arr2)
if arr[i][1] == 1:
arr2[arr[i][2]] = 1
else:
arr2[arr[i][2]] = 0
if arr[i][0] < 0:
continue
duration_time = arr[i][0] + 999
for j in range(i,len(arr)):
if arr[j][0] > duration_time:
break
if arr[j][1] == 1:
count += 1
cnt_arr.append(count)
count = 0
return max(cnt_arr)
반응형
'프로그래머스' 카테고리의 다른 글
프로그래머스 - '모의고사' 문제풀이 (0) | 2020.08.22 |
---|---|
프로그래머스 - 완주하지 못한 선수 문제풀이 (0) | 2020.08.22 |
프로그래머스 - 최댓값 구하기 문제 (4) | 2020.05.26 |
프로그래머스 "크레인 인형뽑기 게임" 문제풀이 - Henry's Algorithm (0) | 2020.05.25 |
2020 카카오 코딩테스트 - 어피치 문자열 압축문제 (0) | 2020.05.02 |