📆11/11
로또의 최고 순위와 최저 순위
<문제 설명>
<입출력 값>
<문제 해석>
-로또 순위
-6개 일치 : 1등
-5개 일치 : 2등
-4개 일치 : 3등
-3개 일치 : 4등
-2개 일치 : 5등
-그 외 : 6등
-로또 번호가 0 인 것은 번호를 알 수 없다는 뜻
해당 로또의 최대 등수와 최저 등수를 도출하라.
<문제 해결>
1. 먼저 해당 로또의 0의 갯수를 구한다.
=> 0의 개수에 따라 최대, 최저를 구할 수 있다.
2. 해당 로또와 당첨 복권의 일치하는 숫자의 개수을 구한다.
0의 개수 -> zeroCount / 일치하는 숫자의 개수 -> count
최대 일치하는 숫자의 개수(max) => 일치하는 숫자의 개수 + 0의 개수 (count + zeroCount)
최소 일치하는 숫자의 개수(count) => 일치하는 숫자의 개수 (count)
단, max와 count가 0일 경우에는 1로 바꿔준다.
최종 등수
최대 등수 : 7 - max
최저 등수 : 7 - count
<내 코드>
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int zeroCount =0;
int count =0;
int max=0;
for(int lotto : lottos){
if(lotto == 0) {
zeroCount++;
}
for(int win_num : win_nums){
if(lotto == win_num){
count++;
}
}
}
max = zeroCount + count;
if(max == 0){
max =1;
}
if(count == 0){
count =1;
}
int answer[] = {7-max, 7-count};
return answer;
}
}