본문 바로가기

알고리즘/프로그래머스

[프로그래머스] 2021 dev-matching 로또의 최고 순위와 최저 순위 [JAVA]

문제링크 : programmers.co.kr/learn/courses/30/lessons/77484

 

코딩테스트 연습 - 로또의 최고 순위와 최저 순위

로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호

programmers.co.kr

카운트 배열을 사용했다

public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = new int[2];
        int []cnt = new int[46];
        for(int i=0;i<lottos.length;i++){
        	cnt[lottos[i]]++;
        }
        int maxAns = 0;
        int minAns = 0;
        for(int i=0;i<win_nums.length;i++){
        	if(cnt[win_nums[i]]==1){
        		minAns++;
        	}
        }
        maxAns = minAns + cnt[0];
        if(maxAns >=2){
        	answer[0] = 7- maxAns;
        }else{
        	answer[0] = 6;
        }
        if(minAns >=2){
        	answer[1] = 7-minAns;
        }else{
        	answer[1] = 6;
        }
        
        return answer;
    }