728x90
반응형
1. 문제
programmers.co.kr/learn/courses/30/lessons/42586
코딩테스트 연습 - 기능개발
프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는
programmers.co.kr
2. 풀이
- 작업기간을 소수점 올림하지 않으면 틀리는 문제였다.
3. 코드
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
List<Integer> list = new ArrayList<>();
List<Integer> result = new ArrayList<>();
for(int i =0; i<progresses.length; i++){
list.add( (int)Math.ceil((100-progresses[i])/(double)speeds[i])); // 올림효과가 있어야함
}
int cnt=1;
int idx =0;
while(!list.isEmpty()){
if(list.size()==1){
result.add(list.get(idx)); // 배열 하나일때의 예외처리 필요
break;
}
if(list.get(idx)>= list.get(idx+1)){
list.remove(idx+1);
cnt++;
}else{
idx++;
result.add(cnt);
cnt=1;
}
if(list.size()-1 == result.size()){
result.add(cnt);
break;
}
}
int[] answer = new int[result.size()];
for(int i =0; i<result.size(); i++){
answer[i] = result.get(i);
// System.out.println(result.get(i));
}
return answer;
}
}
반응형
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스 Lv2] 멀쩡한 사각형(Java) (0) | 2021.01.06 |
|---|---|
| [프로그래머스 Lv2] 124 나라의 숫자(Java) (0) | 2021.01.06 |
| [프로그래머스 Lv2] 다리를 지나는 트럭(Java) (0) | 2021.01.06 |
| [프로그래머스 Lv2] 프린터(Java) (0) | 2021.01.06 |
| [프로그래머스 Lv2] 스킬트리(Java) (0) | 2021.01.06 |