정구리의 우주정복

[프로그래머스] 기능개발 파이썬 본문

ALGORITHM/SOLVE

[프로그래머스] 기능개발 파이썬

Jungry_ 2020. 6. 22. 22:06
반응형

https://programmers.co.kr/learn/courses/30/lessons/42586?language=python3

 

문제 이해가 어려웠다 

 

def solution(progresses, speeds):
    answer = []

    while len(progresses) != 0:
        for i in range(len(progresses)):
            progresses[i] = progresses[i] + speeds[i]
        if progresses[0] >= 100:
            count = 0
            while progresses[0] >= 100:
                count += 1
                progresses.pop(0)
                speeds.pop(0)
                if len(progresses)==0:
                    break
            #print(count)
            answer.append(count)
    return answer

아주 지저분한 소스 

 

줄여보자 해서 만든 소스

 

def solution(progresses,speeds):
    answer = []
    sec = 0
    count= 0
    while len(progresses) != 0 :
        if (progresses[0]+(sec*speeds[0]))>= 100:
            #print(sec)
            count += 1
            progresses.pop(0)
            speeds.pop(0)
        else:
            #print('work')
            if count > 0 :
                answer.append(count)
                count =0
            sec += 1
    answer.append(count)
    return answer

3중 반복문에서 1개로 줄었더니 아주아주 효율적으로 돌아갔다

 

생각을 좀 더 유연하게 하는 연습이 많이 필요할 것같다

반응형
Comments