728x90
문제
코드
import numpy as np
def solution(progresses, speeds):
answer = []; count = 0
progresses = np.array(progresses)
speeds = np.array(speeds)
while(len(progresses) > 0):
progresses += speeds
if(len(np.where(progresses >= 100)[0]) == 0):
pass
elif(progresses[0] >= 100):
while(1):
if(len(progresses) != 0 and progresses[0] >= 100):
count += 1
progresses = np.delete(progresses, 0)
speeds = np.delete(speeds, 0)
else:
answer.append(count)
count = 0
break
return answer
코드풀이
예전에 풀었던 문제라서 그런지 효율적으로는 풀지 못했다.
progresses : 작업률이 들어있는 배열
speeds : 작업률에 대한 속도
나는 while 루프를 이용해서 풀었다. 빠져나오는 조건은 progresses 의 배열 길이가 0 이 될 때 끝이 난다.
처음에 작업률에 대해 속도를 더하고 그 모든 progresses 배열에 대해 100 이상인 위치를 찾는다.
100 이상이 아무 것도 없다면 pass
100 이상이 있다면 그 위치에 있는 progresses 와 speeds 를 삭제한다. count 는 그에 대한 것을 센다.
그렇게 반복하여 while 문을 탈출하면 return answer!
300x250
'코딩코딩' 카테고리의 다른 글
[프로그래머스] level1 - 같은 숫자는 싫어 : 파이썬(Python) 풀이 (0) | 2020.12.17 |
---|---|
[프로그래머스] level1 - 2016년 : 파이썬(Python) 풀이 (0) | 2020.12.16 |
[프로그래머스] level1 체육복 - 파이썬(Python) 풀이 (0) | 2020.09.25 |
[프로그래머스] level2 - 프린터 : 파이썬(Python) 풀이 (0) | 2020.09.16 |
[프로그래머스] level2 카펫 - 파이썬(Python) 풀이 (0) | 2020.09.13 |