본문 바로가기
코딩테스트/프로그래머스

[Level 1] 로또의 최고 순위와 최저 순위

by 고구마는호박고구마 2022. 8. 11.

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = new int[2];
        // 0인 경우 다 맞거나, 다틀리거나 
        int count=0;
        for(int z=0; z<2; z++){ //최고와 최저를 리턴하므로 2번 반복 
            for(int i=0; i<lottos.length; i++){
                for(int j=0; j<win_nums.length; j++){
                    if(lottos[i]==win_nums[j] || (lottos[i]==0 && z==0) ){ 
                        // 1.두 배열의 값이 같은걸 찾거나 
                        // 2.z가 0일때 최고순위 이므로 z가 0이면서 배열의 값이 0이면 ++ 
                        count++;
                        break;
                    }
                }
            }
            //나 온값을 순위를 매기는 절차
            answer[z] = (count ==0) ? lottos.length : (lottos.length+1)-count;
            count=0;
        }
        return answer;
    }
}

    
    /*
    하드코딩을 안하기 위해서 최대한 노력을 함
    순위를 매기는 절차에서 switch를 통해서 6-1, 5-2 이런식으로 등수를 매기려다가
    생각을 해서 저런 식으로 등수를 매김
    */

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

자바(HashMap)  (0) 2023.02.04
Iterator vs Stream  (0) 2023.01.09
[Level 1] 자연수 뒤집어 배열로 만들기  (0) 2022.08.11
[Level 1] 시저 암호  (0) 2022.08.11
[Level 1] 로또의 최고 순위와 최저 순위  (0) 2022.08.11

댓글