Algorithm/프로그래머스

[프로그래머스] 로또의 최고 순위와 최저 순위(자바) / 구현

미스터로즈 2021. 10. 15. 09:51

문제

 

제한사항

 

입출력

 

문제풀이

import java.util.*;

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = new int[2];
        
        int[] arr = new int[46];
        for(int i: lottos){
            arr[i]++;
        }
        
        int ans=0;
        for(int i: win_nums){
            if(arr[i]!=0){
                ans++;
            }
        }
        int ans2 = ans + arr[0];
        
        if(ans<2){
            answer[1] =6; 
        }else{
            answer[1] = 7-ans;
        }
        if(ans2<2){
            answer[0] =6; 
        }else{
            answer[0] = 7-ans2;
        }
        
        return answer;
    }
}

 

※ 내 생각

이 문제는 구현? 정도의 문제라고 생각이 됩니다.

로또 범위가 0 ~ 45 범위 내에서 진행을 하기 때문에 46 크기의 배열을 생성합니다.
로또 번호에 있으면 로또 번호 인덱스 값을 변경해 줍니다.
내가 찍은 번호를 인덱스 번호로 접근할 수 있습니다.

맞은 갯수에 따라서 등수를 매겨서 값을 넣어주면 됩니다.