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

1위 : 6개 모두 일치
2위 : 5개 일치
3위 : 4개 일치
4위 : 3개 일치
5위 : 2개 일치
6위 : 그 외



- 해결해야 하는 것

1) 로또 번호가 낙서되어 알아 볼 수 없음
 -> 예상해서 확률을 만들어야함
 -> 알아볼 수 없는 번호를 0으로 표기


2) 당첨 번호 발표 후 자신이 구매했던 로또의 최고 순위와 최저 순위를 알아내야 함
  -> 순서는 상관없이 번호만 일치하면 됨




- 주어진 변수

1) lottos : 구매한 로또 번호를 담은 배열

2) win_nums : 당첨 번호를 담은 배열




- 제한사항

1) lottos 의 길이는 6 인 정수 배열
2) lottos 의 모든 원소는 0 ~ 45 정수
3) win_num 의 길이는 6 인 정수배열
4) win_num 의 모든 원소는 1 ~ 45 정수


- 결과 값
: 당첨 가능한 최고 순위와 최저 순위가 담긴 배열




- 해결 과정
1) 0 ~ 45 중 랜덤한 숫자를 lottos 에 입력받음
2) 1 ~ 45 중 랜덤한 숫자를 win_nums 에 입력받음
3) 0에 숫자를 넣었을때 win_nums 배열 수 중 최대 갯수가 중복되게 하는 수와
   중복이 최대가 되는 수를 찾는다.
4) 1~6위 중 최대와 최소를 찾는다.

 

class Solution{
	public int[] solution(int[] lottos,int[] win_nums){
		int cntR = 0;
        int cntZ = 0;

        for(int i : lottos){
            for(int j : win_nums){
                if(i==j) cntR++;
            }
            if(i == 0) cntZ++;
        }
        int upRes = 7 - (cntR + cntZ) > 6 ? 6 : 7 - (cntR + cntZ);

        int downRes = 7 - cntR > 6 ? 6 : 7 - cntR;

        int[] answer = {upRes,downRes};

        return answer;
    }
}

 

* 어려웠다. 다시 풀어보자

'프로그래머스' 카테고리의 다른 글

신규 아이디 추천 ( replaceAll, 정규표현식 )  (0) 2022.08.18
신고 결과 받기  (0) 2022.08.11
숫자 문자열과 영단어  (0) 2022.08.09
폰켓몬  (0) 2021.07.31
체육복  (0) 2021.07.31

+ Recent posts