728x90
반응형
programmers.co.kr/learn/courses/30/lessons/42586
알고리즘 난이도가 어렵지 않기 때문에 직관적으로 코드를 짜는데 무리가 없다!
def solution(progresses, speeds):
answer = []
progresses_c = progresses[:]
speed_c = speeds[:]
while progresses_c:
cnt = 0
getted = False
#작업진행
progresses_c = [(progresses_c[idx]+speed_c[idx]) for idx in range(len(progresses_c))]
while progresses_c:
if progresses_c[0] >= 100: #001
getted = True
del progresses_c[0]
del speed_c[0]
cnt+=1
else: break
if getted: answer.append(cnt)
return answer
1. 원본 데이터 보유를 위해 인자를 복사했다.
2. 작업 배열이 존재할동안만 작업회차를 반복한다.
3. getted 변수 사용 이유: pop 된 작업이 1개라도 있으면 pop된 작업 개수를 return할 배열에 append시킨다.
4. #001: 작업의 0번째 요소가 100 이상이 아니면 뒤의 요소들은 100이 넘어도 pop될 수 없으므로 작업배열의 0번째 인덱스만 판별한다.
728x90
반응형
'농장 > 프로그래머스 코딩테스트' 카테고리의 다른 글
[Python 프로그래머스] 찾아라 프로그래밍 마에스터 > 폰켓몬 (0) | 2021.05.03 |
---|---|
[Python 프로그래머스] 해시 > 완주하지 못한 선수 (0) | 2021.05.03 |
[Python 프로그래머스] 탐욕법(Greedy) > 체육복 (0) | 2021.05.03 |
[Python 프로그래머스] 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천 (0) | 2021.05.03 |
[Python 프로그래머스] Summer/Winter Coding(~2018) > 소수 만들기 (0) | 2021.05.03 |