프로그래머스 - 로또의 최고 순위와 최저 순위

최지홍·2022년 3월 31일
0

프로그래머스

목록 보기
11/15

문제 출처: https://programmers.co.kr/learn/courses/30/lessons/77484


import java.util.HashSet;
import java.util.Set;

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = new int[2];

        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < 6; i++) {
            set.add(win_nums[i]);
        }

        int zeroCnt = 0;
        int winCnt = 0;

        for (int i = 0; i < 6; i++) {
            if (lottos[i] == 0) zeroCnt++;
            else {
                if (set.contains(lottos[i])) winCnt++;
            }
        }

        int max = winCnt + zeroCnt;

        answer[0] = (7 - max) > 5 ? 6 : (7 - max);
        answer[1] = (7 - winCnt) > 5 ? 6 : (7 - winCnt);
        return answer;
    }
}

  • 간단히 구현하는 문제였다. Set의 성질을 이용하여 현재 확실한 수 중에서 맞은 개수를 세고, 이 개수만큼 맞는 경우가 최저 등수, 0의 수만큼까지 다 맞으면 최고 등수로 하여 값을 도출하였다.
profile
백엔드 개발자가 되자!

0개의 댓글

관련 채용 정보