가자미의 개발이야기

[프로그래머스] Lv1. 로또의 최고 순위와 최저 순위 본문

Computer Science/알고리즘

[프로그래머스] Lv1. 로또의 최고 순위와 최저 순위

가자미 2021. 6. 18. 21:25

문제 링크

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

 

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

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

programmers.co.kr

 

주요 아이디어

  • 반복문 두 개를 사용해 두 배열의 원소를 비교.
  • 모르는 숫자가 다맞은 경우와 다 틀린 경우를 각 변수에 저장
class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int bestRate = 7;
        int worstRate = 7;
        for (int pick : lottos){
            if(pick==0){
                bestRate--;
            }
            else{
                for(int pick2 : win_nums){
                    if(pick==pick2){
                        bestRate--;
                        worstRate--;
                        break;
                    }
                }
            }
        }
        if(bestRate==7)
            bestRate=6;
        if(worstRate==7)
            worstRate=6;
        int[] answer = new int[2];
        answer[0]=bestRate;
        answer[1]=worstRate;
        return answer;
    }
}