티스토리 뷰

728x90

 

 

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

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

programmers.co.kr

package programmers.level1;

import org.junit.Test;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.HashMap;

public class P77484 {
    @Test
    public void 정답(){
        int[] lottos = {44, 1, 0, 0, 31, 25};
        int[] win_nums = {31, 10, 45, 1, 6, 19};
        System.out.println(Arrays.toString(solution(lottos,win_nums)));

    }
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer =new int [2];
        int point = 0;
        int zero=0;
        HashMap<Integer,Integer> map = new HashMap<>();
        int rank=0;
        for(int i=6;i>1;i--){
            map.put(i,++rank);
        }
        for(int i : lottos){
            if(i==0){
                zero++;
                continue;
            }
            for(int j=0;j<6;j++){
                if(i==win_nums[j]){
                    point++;
                    break;
                }
            }
        }
        answer[0] = map.containsKey(point+zero)? map.get(point+zero):6;
        answer[1] = map.containsKey(point)? map.get(point):6;
        return answer;
    }
}
댓글
최근에 달린 댓글
최근에 올라온 글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30