lottos
민우가 구매한 로또 번호를 담은 배열 | [44, 1, 0, 0, 31, 25] | 길이 6, 모든 원소는 0 이상 45 이하인 정수
win_nums
당첨 번호를 담은 배열 | 31, 10, 45, 1, 6, 19] | 길이 6, 모든 원소는 1 이상 45 이하인 정수
=> 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 return
Set에 당첨번호를 담고, 구매한 로또 번호가 있는지를 비교한 후 0의 개수에 따라 등수를 나눔
import java.util.*;
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
Set<Integer> set = new HashSet<>();
for(int num : win_nums){
set.add(num);
}
int zero_cnt = 0, win_cnt = 0;
for(int lotto : lottos){
if(set.contains(lotto)){
win_cnt++;
}
if(lotto == 0){
zero_cnt++;
}
}
int[] ans = new int[2];
return new int[]{7-((win_cnt+zero_cnt==0)?1:(win_cnt+zero_cnt)), 7-(win_cnt==0?1:win_cnt)};
}
}
TIP : 어떤 값이 속하는지를 판단할 땐 Set이 편리하다.