내 정답:
꼼수를 좀 썼다.
def solution(progresses, speeds):
baepo = []
answer = []
for i in range(len(progresses)):
day = (99.9 - progresses[i]) // speeds[i] + 1
baepo.append(day)
while baepo:
baepo_now = baepo.pop(0)
count = 1
while baepo and baepo_now >= baepo[0]:
baepo.pop(0)
count += 1
answer.append(count)
return answer
다른 사람들의 정답:
def solution(progresses, speeds):
Q=[]
for p, s in zip(progresses, speeds):
if len(Q)==0 or Q[-1][0]<-((p-100)//s):
Q.append([-((p-100)//s),1])
else:
Q[-1][1]+=1
return [q[1] for q in Q]
def solution(progresses, speeds):
print(progresses)
print(speeds)
answer = []
time = 0
count = 0
while len(progresses)> 0:
if (progresses[0] + time*speeds[0]) >= 100:
progresses.pop(0)
speeds.pop(0)
count += 1
else:
if count > 0:
answer.append(count)
count = 0
time += 1
answer.append(count)
return answer
'프로그래머스 알고리즘 문제 > Level 2' 카테고리의 다른 글
프로그래머스 Level 2 - 더 맵게 (0) | 2020.08.19 |
---|---|
프로그래머스 Level 2 - 스킬트리 (0) | 2020.08.19 |
프로그래머스 Level 2 - 주식 가격 (0) | 2020.08.19 |
프로그래머스 Level 2 - 124 나라의 숫자 (0) | 2020.08.18 |
프로그래머스 Level 2 - 다리를 지나는 트럭 (0) | 2020.08.18 |