์๊ณ ๋ฆฌ์ฆ ์ง๋๊ฑด ์ผ๋ง ์ ๊ฑธ๋ ธ๋๋ฐ,
์ค๋๋ง์ ์๊ณ ๋ฆฌ์ฆ ํ๋ค๋ณด๋๊น ์๋ฃํ ๋ค๋ฃจ๋ ๊ฒ ์ต์ํ์ง ์์์ ์ค๋ ๊ฑธ๋ฆฐ ๊ฒ ๊ฐ๋ค.
https://programmers.co.kr/learn/courses/30/lessons/42586
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ธฐ๋ฅ๊ฐ๋ฐ
ํ๋ก๊ทธ๋๋จธ์ค ํ์์๋ ๊ธฐ๋ฅ ๊ฐ์ ์์ ์ ์ํ ์ค์ ๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ ์ง๋๊ฐ 100%์ผ ๋ ์๋น์ค์ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋, ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์๋๋ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค์ ์๋ ๊ธฐ๋ฅ์ด ์์ ์๋
programmers.co.kr
import java.lang.Math;
import java.util.ArrayList;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
ArrayList<Integer> list = new ArrayList<>();
int length = progresses.length;
int[] days = new int[length];
int[] answer = {};
double d;
int a=0; //days ์ธ๋ฑ์ค
int count; //ํ ๋ฒ์ ๋ฐฐํฌ ๊ฐ๋ฅํ ๊ธฐ๋ฅ์
int b;
//์์ฑ๊น์ง ๊ฑธ๋ฆฌ๋ ์ผ์ ๊ณ์ฐ
for(int i=0;i<length;i++){
d = (double)(100-progresses[i])/speeds[i];
d = Math.ceil(d);
days[i]=(int)d;
}
while (a<length){
count=1;
if(a==length-1){ //๋ง์ง๋ง ์ธ๋ฑ์ค์ผ ๊ฒฝ์ฐ
list.add(c);
break;
}
for(b=1;b<length-a;b++){
if(days[a]>=days[a+b]){
count++;
}
else{
break;
}
}
a=a+b;
list.add(count);
}
answer = list.stream().mapToInt(i ->i).toArray();
return answer;
}
}
์๋ฐ์ ๋ฐฐ์ด์ add ๊ธฐ๋ฅ์ด ์์ด์ ๊ทธ๋ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ ์๋ฃํ์ด ๋ญ๊ฐ ์์๊น ํ๋ค๊ฐ ์ฐพ์ ArrayList.
(์๊ฐ ํ์ด์ฌ์ ๋ฐฐ์ด์ด ์ ๋ง ๊ทธ๋ฆฌ์ ๋ค) ๊ทผ๋ฐ ๋ ArrayList๋ฅผ int๋ฐฐ์ด๋ก ๋ณํํด์ผํด์.. ๊ฑฐ๊ธฐ์ ๋งํ๋ ๊ฒ ๊ฐ๋ค.
1. ์ฌ๋ฆผํ๋ ํจ์
2. ArrayList ์ฌ์ฉ
3. ArrayList -> Array
์ด๊ฒ๋ง ์ ์์๋ค๋ฉด ํจ์ฌ ์ฝ๊ฒ ํ ์ ์์์ ๊ฒ ๊ฐ๋ค !
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] [Level 1] ํ์ค๋ ์ JAVA (0) | 2022.05.12 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] [Level 1] x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2022.05.12 |
[ํ๋ก๊ทธ๋๋จธ์ค] [Level 1] ์ง์ฌ๊ฐํ ๋ณ์ฐ๊ธฐ (0) | 2022.04.08 |
[์ฝ๋๋ฆฌํฐ] Lesson 1 Binary Gap Java (0) | 2021.12.22 |
ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ ฌ Lv1 <K๋ฒ์งธ์> JAVA (0) | 2021.08.25 |