공부/코딩테스트
[프로그래머스] 기능개발(파이썬)
ghhong
2022. 2. 16. 13:05
https://programmers.co.kr/learn/courses/30/lessons/42586?language=python3
코딩테스트 연습 - 기능개발
프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는
programmers.co.kr
나의 답 :
# 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