|
์ฝ๋ ์์ฑํ๊ธฐ
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Deploy {
public int[] solution(int[] progresses, int[] speeds) {
List<Integer> answer = new ArrayList<>();
int[] days = new int[progresses.length];
//๊ฐ ๊ธฐ๋ฅ ์์ฑ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ(๋ )
for (int i = 0; i < progresses.length; i++) {
int remain = 100 - progresses[i];
int ceil = (int) Math.ceil(remain / (double) speeds[i]);
days[i] = ceil;
}
ArrayList<Integer> arr = new ArrayList<>();
for (int i = 0; i < days.length; i++) {
if(arr.size() == 0) {
arr.add(days[i]);
} else {
if (arr.get(0) < days[i]) {
answer.add(arr.size());
arr = new ArrayList<>();
arr.add(days[i]);
} else arr.add(days[i]);
}
}
answer.add(arr.size());
return convertIntegers(answer);
}
// List<Integer> => int[] ๋ก ๋ณํํ๋ ๋ฉ์๋
private int[] convertIntegers(List<Integer> integers) {
int[] ret = new int[integers.size()];
for (int i=0; i < ret.length; i++) {
ret[i] = integers.get(i).intValue();
}
return ret;
}
public static void main(String[] args) {
Deploy T = new Deploy();
int[] solution = T.solution(new int[]{93, 30, 55}, new int[]{1, 30, 5});
System.out.println(Arrays.toString(solution));
int[] solution1 = T.solution(new int[]{95, 90, 99, 99, 80, 99}, new int[]{1, 1, 1, 1, 1, 1});
System.out.println(Arrays.toString(solution1));
}
}
Java
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
๋๊ฒจ ๋ฐ์ ๋ฐฐ์ด ๋ ๊ฐ๋ก ๊ฐ ๊ธฐ๋ฅ ์์ฑ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๊ตฌํด ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์ด์ค๋๋ค.
์ด ๋ฐฐ์ด์ ๋ฐ๋ณต๋ฌธ ๋๋ฉด์ ์๋์ ๊ฐ์ด ๋์ํ๋๋ก ์กฐ๊ฑด๋ฌธ์ ๋ง๋ค์์ต๋๋ค.
days = [5, 10, 1, 1, 20, 1], arr = [], answer = []
days = [5, 10, 1, 1, 20, 1], arr = [5], answer = []
days = [5, 10, 1, 1, 20, 1], arr = [10], answer = [1]
days = [5, 10, 1, 1, 20, 1], arr = [10, 1], answer = [1]
days = [5, 10, 1, 1, 20, 1], arr = [10, 1, 1], answer = [1]
days = [5, 10, 1, 1, 20, 1], arr = [20], answer = [1, 3]
days = [5, 10, 1, 1, 20, 1], arr = [20, 1], answer = [1, 3]
days = [5, 10, 1, 1, 20, 1], arr = [], answer = [1, 3, 2]