Algorithm/프로그래머스

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

녱녱 2023. 9. 17.

1. 구매한 로또 번호 중 알아볼 수 없는 번호/ 맞춘 번호 구하기

2. 최댓값 = 맞춘 번호 + 알아볼 수 없는 번호    //알아볼 수 없는 번호가 모두 맞았다 가정 

3. 최솟값 = 맞춘번호  //알아볼 수 없는 번호가 모두 틀렸다 가정

4. 맞춘 개수로 최고 순위 최저 순위 산정

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
         int[] answer = new int[2];
        int win = 0; // 맞춘 번호
        int zero = 0; // 알아볼 수 없는 번호
        
        for(int i : lottos){
            // 번호를 알아볼 수 없는 경우
            if(i == 0) zero++;
            else {
                for(int j : win_nums){		
                    if(i == j){	//구매한 번호와 당첨 번호 비교
                        win++;
                        break;
                    }
                }
            }
        }
        
        answer[0] = Math.min(7 - (win + zero), 6);
        answer[1] = Math.min(7 - win, 6);
        return answer;
    
    }
}

6개 맞음 -> 1등

5개 -> 2등

.

.

.

이므로 (7 - 맞춘 번호 개수)로 등수를 구할 수 있다. 

'Algorithm > 프로그래머스' 카테고리의 다른 글

[Lv. 1] 2016년  (0) 2023.10.02
[Lv. 2] JadenCase 문자열 만들기  (0) 2023.09.17
[Lv. 1] 명예의 전당(1)  (0) 2023.09.07
[Lv. 1] 푸드 파이트 대회  (0) 2023.09.07
[Lv. 2] 점프와 순간 이동  (0) 2023.08.20

댓글