[알고리즘/프로그래머스] 77484. 로또의 최고 순위와 최저 순위

jae_s_a·2022년 9월 24일
0

프로그래머스

목록 보기
15/26

문제

https://school.programmers.co.kr/learn/courses/30/lessons/77484


로또의 최고 순위와 최저 순위

문제 설명

  • 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다.

image

image

image

image


컬렉션을 사용해서인지 문제 양에 비해 생각보다는? 어렵지 않았던 것 같다.

import java.util.*;

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] ranks = {6, 5, 4, 3, 2};
        ArrayList<Integer> list = new ArrayList<Integer>();
        int cnt = 0;
        int erasedNumber = 0;

        for (int i = 0; i < lottos.length; i++) {
            list.add(lottos[i]);

            if(lottos[i] == 0) {
                erasedNumber++;
            }
        }
        for (int i = 0; i < list.size(); i++) {
            if(list.contains(win_nums[i])) {
                cnt++;
            }
        }

        int[] answer = {6, 6};

        for(int i = 0; i < ranks.length; i++) {
            if(ranks[i] == cnt + erasedNumber) {
                answer[0] = i + 1;
            }
            if(ranks[i] == cnt) {
                answer[1] = i + 1;
            }
        }
        return answer;
    }
}
profile
if not now, when

0개의 댓글