728x90
▶ 문제
▶ 풀이방법
- 푸는데 오랜시간걸렸다..
- double형 arr배열에 실패율 계산해서 담아야하는데 count/gamer계산이 계속 안되고 0.0만 나와서 왜 그러나 봤더니.. 실수형 계산 시에 count(int형) / count(int형)으로 계산하니 몫 값만 저장되는것이였다..
--> 문제를 해결해 보기 위해 gamer를 실수형인 double로 바꿔주니 정상적으로 작동했다!!
class Solution {
public int[] solution(int N, int[] stages) {
int[] answer = new int[N]; //결과값 담을 공간
double[] arr = new double[N+1]; //실패율 담을 공간.
double gamer = stages.length; //gamer수
for(int i = 1; i < N+1; i++) {
int count = 0; //스테이지 개수
for(int j = 0; j < stages.length; j++) {
if(i == stages[j]) count++;
}
//실패율 계산
if(count == 0) arr[i] = 0;
else {
arr[i] = count / gamer;
gamer -= count;
}
}
//정답 배열에 값 넣기
for(int i = 0; i < answer.length; i++) { //정답 담을 공간
double max = -1;
int index = 0;
for(int j = 1; j < arr.length; j++) {//실패율 비교위함.
if(max < arr[j]) {
max = arr[j];
index = j;
}
}
answer[i] = index;
arr[index] = -1; //max로 설정됐던 수 최저값으로 바꿔줌.
}
return answer;
}
}
++진짜 계속 안되다 보니 포기하고 싶었지만,, Lv1에서 포기할 수 없지! 하면서 끝까지 풀었더니 해결이 됐다ㅜㅜ
++나중에 보면 진짜 쉬운문제인데 이거보고 해맸다고? 라고 생각할 수 있지만, 지금으로서는 끝까지 해낸 나자신 칭찬해.
728x90
'Algorithm > PROGRAMMERS[Java]' 카테고리의 다른 글
Lv1. 체육복 (0) | 2022.04.21 |
---|---|
Lv1. 폰켓몬 (0) | 2022.04.20 |
Lv1. 약수의 개수와 덧셈 (0) | 2022.04.17 |
Lv1. 3진법 뒤집기 (0) | 2022.04.17 |
Lv1. 예산 (0) | 2022.04.17 |