로또의 최고 순위와 최저 순위 Lv. 1

박영준·2023년 6월 19일
0

코딩테스트

목록 보기
260/300
class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = {};
        return answer;
    }
}

해결법

방법 1

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

        int cnt1 = 0;
        int cnt2 = 0;
        
        for (int i : lottos) {      // 0 개수 세기
            if (i == 0) {
                cnt1++;
            }
            
            for (int j : win_nums) {        // 일치하는 숫자 세기
                if (i == j) {
                    cnt2++;
                }    
            }
        }

        answer[0] = getGrade(cnt1 + cnt2);
        answer[1] = getGrade(cnt2);

        return answer;
    }

    public int getGrade(int n) {
        switch(n) {
            case 6 :
                return 1;
            case 5 :
                return 2;
            case 4 :
                return 3;
            case 3 :
                return 4;
            case 2 :
                return 5;
            default :
                return 6;
        }
    }
}
  • 규칙

    • 0 은 숫자가 일치 0/x 라고 가정 할 수 있음
  • getGrade() 메소드

  • switch문


로또의 최고 순위와 최저 순위 Lv. 1

profile
개발자로 거듭나기!

0개의 댓글