Programmers
Programmers LV.1 모의고사
Developer Garam.Choi
2020. 12. 30. 00:32
왜 자꾸 안되지 하다가 다시보니,
수포자의 답이 5/8/10 으로 나뉘어 계속적으로 반복한다는걸 뒤늦게 확인함
@org.junit.Test
public void supoja(){
int[] answers = {4,1,2,3,4,4,1,2,3,4,4,1,2,3,4,4,1,2,3,4};
/*int[] answers = {1,2,3,4,5};*/
int[][] giveup = {{1, 2, 3, 4, 5},{2, 1, 2, 3, 2, 4, 2, 5},{3, 3, 1, 1, 2, 2, 4, 4, 5, 5}};
Map<Integer,Integer> giveUpPeple = new HashMap<>();
List<Integer> pepleList = new ArrayList<>();
int pepleCnt = 1;
for(int[] giveUpValue : giveup){
int cnt = 0;
int j = 0;
for(int i=0; i<answers.length; i++){
if(pepleCnt == 1){
j = i % 5 ;
}else if(pepleCnt == 2){
j = i % 8 ;
}else if(pepleCnt == 3){
j = i % 10 ;
}
if(answers[i] == giveUpValue[j]){
cnt++;
}
}
giveUpPeple.put(pepleCnt,cnt);
pepleList.add(pepleCnt);
pepleCnt++;
}
Collections.sort(pepleList, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return giveUpPeple.get(o2).compareTo(giveUpPeple.get(o1));
}
});
int max = giveUpPeple.get(pepleList.get(0));
List<Integer> answerList = new ArrayList<>();
for(Integer id : pepleList){
int value = giveUpPeple.get(id);
if(max <= value){
if(max == value){
answerList.add(id);
}else{
max =value;
}
}
}
int[] answer = new int[answerList.size()];
int cnt =0;
for(Integer id : answerList){
answer[cnt] = id;
System.out.println(id);
cnt++;
}
}