본문 바로가기
코딩 테스트/프로그래머스

기능개발

by ornni 2024. 5. 23.
728x90
반응형

첫번째 코드

 

먼저 필요한 날로 구성된 리스트를 만들어야 한다.

이를 위해 (남은 날 // 속도)을 구한 후 나머지가 있는 경우 +1을 한다.

 

이제 값을 비교해가면서 현재 값보다 큰 값이 있지 않은 수를 순차적으로 더해간다.

마지막 값이 빠지지 않도록 포함한 후 결과를 만든다.

 

def solution(progresses, speeds):
    answer = []
    days = [0] * len(progresses)
    count = 0

    for i in range(len(progresses)):
        progresses[i] = 100 - progresses[i]

    for i in range(len(progresses)):
        if (progresses[i] % speeds[i]) != 0:
            days[i] = (progresses[i] // speeds[i]) + 1
        else:
            days[i] = (progresses[i] // speeds[i])

    Max = days[0]

    for i in days:
        if i <= Max:
            count += 1
        else:
            answer.append(count)
            count = 1
            Max = max(Max, i)

    answer.append(count)
    
    return answer

 

통과!

queue를 이용해서 풀려고 했는데, 해당 문자의 문자열은 길지 않으므로 리스트로 해도 충분하다!


링크

https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/42586.%E2%80%85%EA%B8%B0%EB%8A%A5%EA%B0%9C%EB%B0%9C

 

programmers/프로그래머스/2/42586. 기능개발 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

더 맵게  (0) 2024.05.25
올바른 괄호  (0) 2024.05.24
완주하지 못한 선수  (0) 2024.05.22
전화번호 목록  (0) 2024.05.21
예상 대진표  (0) 2024.05.20