[알고리즘] 기능개발

강인호·2022년 8월 25일
0

알고리즘 문제풀이

목록 보기
20/39


일단 처음 접근은 각각의 기능이 완료될때까지 걸리는 일수들을 정리한 배열로 만들었다.
100에서 progresses를 빼고 뺀값을 해당 speed로 나누고 소숫점이 나올경우 올림처리를 했다.

이렇게 구현하면 예제 1번같은 경우에는 [7,3,9] 라는 배열이 나온다. 7일 3일 9일 순으로 완성이 된다는건데

배포를 할때

  1. i번째의 인자가 i+1번째의 인자보다 클경우 : 이미 뒤의 기능이 완성이 되었기 때문에 한꺼번에 배포를 할 수 있으므로
    count 값을 +1을 해주고 i번째의 인자가 어디까지 배포할수 있는지를 계속해서 확인해야 하기 때문에
    i+1번째의 인자를 삭제하고 i값도 -1 을 해준다.

  2. i번째의 인자가 i+1번째의 인자와 같을경우 : 1번과 동일

  3. i번째의 인자가 i+1번째의 인자보다 작을경우 : 더이상 함께 배포할수가 없으므로 count값을 result배열에 push한다.

위의 로직대로 코드를 짰고 처음에 풀었을때는 같을경우를 고려하지 않아서 테스트케이스에서 몇개를 통과하지 못했는데
같을경우의 로직을 추가하니 통과하였다.

0개의 댓글