[Programmers] 2021 Dev-Matching 웹 백엔드 개발자(상반기) 로또의 최고 순위와 최저 순위 - JAVA

최영환·2022년 9월 29일
0
post-thumbnail

💡 문제



💬 입출력 예시

📌 풀이(소스코드)

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = new int[2];
        int max = 0;
        int min = 0;

        for (int i = 0; i < lottos.length; i++) {
            if (lottos[i] == 0) max++;
            for (int j = 0; j < win_nums.length; j++) {
                if (lottos[i] == win_nums[j]) {
                    max++;
                    min++;
                } 
            }
        }
        answer[0] = getScore(max);
        answer[1] = getScore(min);
        return answer;
    }
    
        public int getScore(int num) {
        switch(num) {
            case 6:
                return 1;
            case 5:
                return 2;
            case 4:
                return 3;
            case 3:
                return 4;
            case 2:
                return 5;
            default:
                return 6;
        }
    }
}

📄 해설

  • 최댓값과 최솟값에 접근할 수 있으면 쉽게 해결이 가능한 문제
  • 최댓값 : 0 의 개수 + 일치하는 번호의 개수
  • 최솟값 : 일치하는 번호의 개수
  • switch 문을 사용하여 최댓값과 최솟값에 대한 순위 계산 후 answer 배열의 값으로 넣어준다
profile
조금 느릴게요~

0개의 댓글