코딩테스트 연습 - 로또의 최고 순위와 최저 순위 | 프로그래머스 스쿨 (programmers.co.kr)
* 의사코드
//1.당첨몇개인지검사 == 최소순위
//2.남은갯수를 모두 당첨으로 간주 == 최대순위
import java.util.*;
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int[] answer = new int[2];
Arrays.sort(lottos);
Arrays.sort(win_nums);
//1.당첨몇개인지검사 == 최소순위
int cnt=0;
int zero_cnt=0;
for(int i=0;i<lottos.length;++i){
if(lottos[i]==0){
zero_cnt++;
}
for(int j=0;j<win_nums.length;++j){
if(lottos[i]==win_nums[j]){
cnt++;
break;
}
}
}
if(cnt==6) answer[1]=1;
else if(cnt==5) answer[1]=2;
else if(cnt==4) answer[1]=3;
else if(cnt==3) answer[1]=4;
else if(cnt==2) answer[1]=5;
else answer[1]=6;
//answer[1]=zero_cnt;
//2.남은갯수를 모두 당첨으로 간주 == 최대순위
int max_cnt=cnt;
max_cnt+=zero_cnt;
if(max_cnt==6) answer[0]=1;
else if(max_cnt==5) answer[0]=2;
else if(max_cnt==4) answer[0]=3;
else if(max_cnt==3) answer[0]=4;
else if(max_cnt==2) answer[0]=5;
else answer[0]=6;
return answer;
}
}