<나의풀이>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | class Solution { public static int rank(int num){ switch(num){ case 0: case 1: return 6; case 2: return 5; case 3: return 4; case 4: return 3; case 5: return 2; case 6: return 1; default : return -1; } } public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; int min=0, zero=0; for(int i = 0; i<6; i++){ if(lottos[i]==0){ zero++; } else{ for(int j=0; j<6; j++){ if(lottos[i] == win_nums[j]) min++; } } } answer[0]=rank(min+zero); answer[1]=rank(min); return answer; } } | cs |
<다른 사람 풀이>
1 2 3 4 5 6 7 8 9 10 11 12 13 | import java.util.Arrays; import java.util.stream.LongStream; class Solution { public int[] solution(int[] lottos, int[] winNums) { return LongStream.of( (lottos.length + 1) - Arrays.stream(lottos).filter(l -> Arrays.stream(winNums).anyMatch(w -> w == l) || l == 0).count(), (lottos.length + 1) - Arrays.stream(lottos).filter(l -> Arrays.stream(winNums).anyMatch(w -> w == l)).count() ) .mapToInt(op -> (int) (op > 6 ? op - 1 : op)) .toArray(); } } | cs |