ㅇ 로또의 최고 순위와 최저 순위
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 |