빙응의 공부 블로그

[Programmers]LV.1 로또의 최고 순위와 최저 순위 본문

Argorithm

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

빙응이 2023. 12. 29. 15:39


📝풀이

위 문제를 읽어보면서 두가지 아이디어가 떠올랐다.

 

1. 0이 나오는 경우 무시하고 0의 갯수만 세기

2. 6등 이하는 모두 6등으로 처리 Math.min 쓰면 되겠구나! 

 

코드 자체는 매우 간단하다. 

1. lottos가 0이면 0의 갯수만 올림

2. 0이 아니면 그 수와 같은 당첨번호가 있는지 검사

3. 계산 완료 후 순위 계산 

 

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int count = 0; //로또와 같은 숫자를 셈
        int zero = 0; // 0의 갯수 
        
        for(int i = 0; i < win_nums.length;i++){
            if(lottos[i] == 0)
                zero++;
            else{
                for(Integer num : win_nums){
                    if(lottos[i]== num)
                        count++;
                }
            }
        }
        int[] answer = {Math.min(7-count-zero,6),Math.min(7-count,6)};
        return answer;
    }
}