class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int[] answer = new int[2];
// 0인 경우 다 맞거나, 다틀리거나
int count=0;
for(int z=0; z<2; z++){ //최고와 최저를 리턴하므로 2번 반복
for(int i=0; i<lottos.length; i++){
for(int j=0; j<win_nums.length; j++){
if(lottos[i]==win_nums[j] || (lottos[i]==0 && z==0) ){
// 1.두 배열의 값이 같은걸 찾거나
// 2.z가 0일때 최고순위 이므로 z가 0이면서 배열의 값이 0이면 ++
count++;
break;
}
}
}
//나 온값을 순위를 매기는 절차
answer[z] = (count ==0) ? lottos.length : (lottos.length+1)-count;
count=0;
}
return answer;
}
}
/*
하드코딩을 안하기 위해서 최대한 노력을 함
순위를 매기는 절차에서 switch를 통해서 6-1, 5-2 이런식으로 등수를 매기려다가
생각을 해서 저런 식으로 등수를 매김
*/
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
자바(HashMap) (0) | 2023.02.04 |
---|---|
Iterator vs Stream (0) | 2023.01.09 |
[Level 1] 자연수 뒤집어 배열로 만들기 (0) | 2022.08.11 |
[Level 1] 시저 암호 (0) | 2022.08.11 |
[Level 1] 로또의 최고 순위와 최저 순위 (0) | 2022.08.11 |
댓글