- 맞춘 번호 변수(match)와 알아 볼 수 없는 번호(zero)를 선언한다.
- 로또 번호가 0이면 zero가 증가하고 로또 번호와 당첨 번호를 비교했을 때 맞춘 번호가 있으면 match가 증가한다.
- match+zero 값이 1보다크면 7-(match+zero) 값을, 그렇지 않으면 6을 최고 등수로 정한다.
- match가 1보다 크면 7-match를 그렇지 않으면 6을 최저 등수로 정한다.
/*
* 프로그래머스 Lv1 - 로또의 최고 순위와 최저 순위
* 문제링크: https://programmers.co.kr/learn/courses/30/lessons/77484
* 정확성 테스트 케이스 15개 중 15개 성공
* 총점 100.0
*/
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int answer[] = new int[2];
int match = 0; // 맞춘 번호
int zero = 0; // 알아 볼 수 없는 번호
for(int lotto : lottos){ // 번호를 알아볼 수 없는 경우
if(lotto == 0){
zero++;
}else {
for(int lotto2 : win_nums){
if(lotto == lotto2){
match++;
break;
}
}
}
}
answer[0] = (match+zero) > 1 ? 7-(match+zero) : 6; // 최고 등수
answer[1] = match > 1 ? 7-match : 6; // 최저 등수
return answer;
}
}
문제가 나름 길어서 생각보다 높은 난이도로 예상하였는데 문제를 읽어보니 생각보다는 쉬운 문제여서 쉽게 해결할 수 있었다.