๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[JAVA/์ฝ๋ฉํ ์คํธ] ์คํจ์จ ๋ณธ๋ฌธ
๋ฐ์ํ
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/42889
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
import java.util.*;
class Solution {
public int[] solution(int N, int[] stages) {
int[] answer = new int[N];
HashMap<Integer, Double> map = new HashMap<>();
Arrays.sort(stages);
for(int i=1; i<N+1; i++){
double mo = 0;
double ja = 0;
for(int j=0; j<stages.length; j++){
if(stages[j]>=i){
mo++;
}
if(stages[j]==i){
ja++;
}
}
double tt;
if(mo == 0){
tt = 0.0;
}else{
tt = ja/mo;
}
if(tt == Double.NaN){
tt = 0.0;
}
map.put(i, tt);
}
List<Integer> keySet = new ArrayList<>();
keySet.addAll(map.keySet());
keySet.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return map.get(o2).compareTo(map.get(o1));
}
});
for(int i=0; i<answer.length; i++){
answer[i] = keySet.get(i);
}
return answer;
}
}
0.0 / 0.0 ์ ํ๋ฉด ๊ฐ์ด 0.0์ด ๋๋๊ฒ ์๋๋ผ NaN์ด ๋๋ค. ๊ทธ๋์ ๊ผญ NaN์ฒดํฌ๋ฅผ ํด์ผํ๋ค.
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA/ํ๋ก๊ทธ๋๋จธ์ค] ์ฒด์ก๋ณต (0) | 2023.03.14 |
---|---|
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๊ณ ์ ์งํฉ (0) | 2023.03.10 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์ ์ ์ผ๊ฐํ (0) | 2023.03.08 |
[JAVA/์ฝ๋ฉํ ์คํธ] ๋ฉ๋ฆฌ ๋ฐ๊ธฐ (0) | 2023.03.02 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์ (0) | 2023.03.02 |
Comments