반응형
https://programmers.co.kr/learn/courses/30/lessons/42586
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
List<Integer> answer_list = new ArrayList<>();
Queue<Integer> days= new LinkedList<>();
double day = 0;
for (int i=0; i<progresses.length; i++) {
// progresses + speeds*day = 100%
// day = ((100-progress) / speeds) -> 값을 올림(ceil)해줘야 며칠걸리는지 나옴
day = (double)(100-progresses[i]) / (double)speeds[i];
days.add((int)Math.ceil(day));
}
System.out.println(days);
int temp = days.remove();
int sum = 1;
for(int i=0; i<days.size();) {
if (temp >= days.element()) {
sum++;
if (days.size() == 1) {
answer_list.add(sum);
break;
}
days.remove();
} else {
answer_list.add(sum);
temp = days.element();
i = 0;
sum = 0;
System.out.println("days.size() : " + days.size());
}
System.out.println("days: " + days + ", sum: " + sum + ", answer_list : " + answer_list);
}
int[] answer = new int[answer_list.size()];
for (int j=0; j<answer_list.size(); j++) {
answer[j] = answer_list.get(j);
}
System.out.println(Arrays.toString(answer));
return answer;
}
}
반응형
'알고리즘' 카테고리의 다른 글
[Javascript] 행렬 테두리 회전하기 - level 2 (0) | 2021.12.11 |
---|---|
[Java] 다리를 지나는 트럭 - level 1 (0) | 2021.06.08 |
[Java] 프린터 - level 2 (0) | 2021.06.08 |
[Javascript] 큰 수 만들기 - level 2 (0) | 2021.06.08 |
[Python] 순위 검색 - level 2 (효율성 통과 못함) (0) | 2021.06.08 |