https://programmers.co.kr/learn/courses/30/lessons/42586?language=python3
나의 답 :
# import collections, math
# def solution(p, s):
# p=collections.deque(p)
# s=collections.deque(s)
# a=0
# print(s,p)
# answer = []
# for i in range(len(p)):
# p[i]=math.ceil((100-p[i])/s[i])
# print(p)
# while len(p):
# cnt=1
# a=p.popleft()
# p1=p.copy()
# for i in range(len(p)):
# if p[i]<=a:
# p1.popleft()
# cnt+=1
# else: break
# answer.append(cnt)
# p=p1.copy()
# return answer
def solution(p, s):
b=0
l=[]
while(p):
for i in range(len(p)):
p[i]+=s[i]
while(p):
if p[0]>=100:
p.pop(0)
s.pop(0)
b+=1
else:
break
if(b!=0):
l.append(b)
b=0
return l
내 답은 O(n*n)이라서
다른 사람의 답이 낫겠다.
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
'공부 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 다리를 지나는 트럭(파이썬) (0) | 2022.02.16 |
---|---|
[프로그래머스] 프린터(파이썬) (0) | 2022.02.16 |
[프로그래머스] 완주하지 못한 선수(파이썬) (0) | 2022.02.16 |
[백준] 1000번 파이썬,자바 (0) | 2022.02.15 |
[프로그래머스] 신고 결과 받기(파이썬, 2022 KAKAO BLIND RECRUITMENT) (0) | 2022.01.18 |