프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/42889)
자바 초급 문제의 2019 KAKAO BLIND RECRUITMENT안의 실패율이다.
1h정도 짤막하게 건드렸는데..1h이 나의 기준에서 짤막하다는게 감사하다는 생각이 잔잔하게 들고 있다.
전의 로직을 구축하는 시간보다 새 로직을 구축할 시간이 단축되었다는게 감사한 지금이다.
개인적인 생각이지만 전의 로직이 접근하기 복잡하게 짜놓았다는 생각이 들었다. '분명 더 좋게 처리할 수 있지 않을까..? ' 라는 생각이 들었고, 새로운 클래스를 만들어 다시금 새로 코딩하기 시작했다. 하나의 클래스를 잡고 그 필드로 실패율과 스테이지 넘버로 잡아놓고 생성자로 매개변수를 필드 값으로 초기화하여 클래스를 짰다.
그 후에 리스트를 클래스타입으로 선언하여 스테이지와 실패율을 for문 하나에 정리하도록 하게끔 하기 위해서이다.
새로운 check 객체를 list에 집어넣어 값을 참고하게끔 해놓았다.
이렇게 잡아놓고서 Collections.sort를 오버라이드하여 끝낼 생각이다. 그게 여의치 않다면 찾아보고 정 이해가 안된다면 배열에 집어넣어서 Arrays.sort 를 오버라이드 하여 기준을 잡고 끝내보려고 한다.
개인적으로 전보다 코드가 간결해진 것 같아서 기분이 좋다. 그래도 끝낼 때 까지 최선을 다해봐야한다.
재미있는 문제임에는 틀림이 없다고 생각이 든다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
package _2019KAKAO_BLIND_RECRUITMENT_실패율;
import java.util.*;
public class subClass1 {
public int[] solution(int N, int[] stages) {
int[] answer = {};
//n은 스테이지 개수 , stages는 각 유저들이 머무는 스테이지 , stages의 길이는 유저의 수 , 실패율은 머무는사람 / 도달한 플레이어 의 수
//실패율 순으로 내림차순, 실패율이 같을 경우 스테이지대로 오름차순 아무도 도달 못했을경우 실패율은 0.
ArrayList<check> list = new ArrayList<check>();
/*int User =0;//도달유저
*int Success =0;//성공유저.*/
Arrays.sort(stages);
//스테이지 기준으로 유저들의 정보를 파악해야함.
for(int i=1; i<=N;i++) {// i 는 스테이지
int User =0;
int Success = 0;//<<<도전 자
for(int j =0; j<stages.length;j++) {//유저들을 조사해야함
if(i==stages[j]) {
User += 1;
}
if(i<=stages[j]) {//스테이지 수 보다 크다면
Success += 1;
}
User += 0;
Success += 0;
}
double failR= (double)User/Success;
if(User==0&&Success==0) {
failR =0;//아무도 도달못했다면
}else if(User ==0 && Success != 0) {
failR =0;// 다 성공했다면
}
//failR = (double)User/Success;//실패율 계산
list.add(new check(i,failR));//하나의 스테이지 당 하나의 실패율 계산
System.out.println(i +"\t"+failR);
}
//
return answer;
}
public class check {
int stage;
double failRate;
public check(int stage, double failRate) {
this.stage = stage;
this.failRate = failRate;
}
}
}
|
cs |
'자바 초급문제로 맨땅에 해딩하기' 카테고리의 다른 글
자바 초급문제 25. 비밀지도 (0) | 2020.04.14 |
---|---|
자바 초급문제 13-4. 실패율 완성. (0) | 2020.04.13 |
자바 초급문제 24. 문자열 내 마음대로 정렬하기 (0) | 2020.04.12 |
자바 초급문제 23. 모의고사 (0) | 2020.04.12 |
자바 초급문제 22. 평균구하기 (0) | 2020.04.11 |