처음에 인덱스를 잘못잡았다. 내 케이스에서는 왜 안되지 했는데 당연함 [1,2,3,4,5,6] 이고 [6,7,8,9,10,11]이 당첨번호일때 정렬을 하고 인덱스 비교를 했는데 인덱스 가 다르기 때문에 겹치는 번호가 없는 것임
나는 정말 바보인건지 이런 실수를 하더라. 그것만 빼면 사실 너무 쉬운문제다
/**
* 로또의 최고 순위와 최저 순위
* @param lottos
* @param win_nums
* @return
*/
public static ArrayList<Integer> solution(int[] lottos, int[] win_nums) {
ArrayList<Integer> answer = new ArrayList<>();
Arrays.sort(lottos);
Arrays.sort(win_nums);
int maxCnt = 0;
int minCnt = 0;
for (int i = 0; i < 6; i++) {
if (lottos[i] == 0) {
maxCnt++;
continue;
} else {
for (int j = 0; j < 6; j++) {
if (lottos[i] == win_nums[j]) {
minCnt++;
maxCnt++;
break;
}
}
}
}
answer.add(7 - maxCnt == 7 ? 6 : 7 - maxCnt);
answer.add(7 - minCnt == 7 ? 6 : 7 - minCnt);
return answer;
}
더 줄일수 있을것 같은데.. 나중에 보고 수정해보는 시간을 가져야겠다.