프로그래머스 로또의 최고 순위와 최저 순위 JAVA

sundays·2022년 9월 25일
0

문제

로또의 최고 순위와 최저 순위

풀이

처음에 인덱스를 잘못잡았다. 내 케이스에서는 왜 안되지 했는데 당연함 [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;
    }

더 줄일수 있을것 같은데.. 나중에 보고 수정해보는 시간을 가져야겠다.

전체 코드

전체 코드

profile
develop life

0개의 댓글