추가 예정
import java.util.*;
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int count =0; //맞춘 개수
int unknownNum = 0 ; //모르는 수(0)의 개수
//로또번호 lottos에서 count
for(int i=0;i<lottos.length;i++){
if(lottos[i] == 0){
unknownNum++;
}
//모르는 수 count
for(int j=0;j<win_nums.length;j++){
if(lottos[i] == win_nums[j])
count++;
}
}
int[] answer = new int[2]; //답 배열
answer[0] = (7-(count+unknownNum))>6?6:(7-(count+unknownNum));
answer[1] = (7-count)>6?6:(7-count);
return answer;
}
}
for문 사용 횟수를 줄여보겠다고, Arrays.aslist().contains(), Arrays.aslist().indexOf() 등의 메소드를 활용하려고 했었다.
근데 활용하면 당첨 번호 개수를 찾을 때 count를 못한다...
return 값도 잘 찾아봤지만 결국 포기했고,
이 부분은 차후에 다시 공부할 생각이다(가만안둬ㅡㅡ)
또한 마지막 등수 값 뽑아내는 부분 관련해서, 나는 삼항 연산자를 활용했다.
처음엔 단순무식하게 합 7이라는 규칙을 활용하여 최대/최소 등수를 뽑아냈지만,
예외의 경우를 고려하지 못해서 제출 시 에러가 났었다.
문제를 풀고 난 후 다른 개발자 분들의 코드를 참조했을 때 Math()를 다들 활용하셨던 것 같다.