반응형
풀이
배열에서 2가지 값들을 찾아야 한다
1. 당첨 번호와 구매한 번호를 비교하여 같은 번호의 총 개수
2. 구매한 번호의 0의 총 개수
두 배열에서 같은 번호를 찾는 방법으론
2중 for문을 이용해서 완전 탐색을 통해서 찾아냈다
같은 번호의 총개수로 로또의 최저 순위를 알 수 있고
같은 번호의 총 개수, 구매한 번호 0의 총 개수를 더해서 로또의 최고 순위를 알아낼 수 있다
순위 표시를 위해서 함수를 따로 만들어서 처리하였다
코드
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int matchCount = 0;
int zeroCount = 0;
int topRank = 0;
int lowestRank = 0;
for (int i = 0; i < lottos.length; i++) {
if (lottos[i] == 0) {
zeroCount++;
}
for (int j = 0; j < lottos.length; j++) {
if (lottos[i] == win_nums[j]) {
matchCount++;
break;
}
}
}
topRank = rank(matchCount + zeroCount);
lowestRank = rank(matchCount);
return new int[]{topRank, lowestRank};
}
public static int rank(int count) {
int result = 0;
switch (count) {
case 6:
result = 1;
break;
case 5:
result = 2;
break;
case 4:
result = 3;
break;
case 3:
result = 4;
break;
case 2:
result = 5;
break;
default:
result = 6;
break;
}
return result;
}
}
출처
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 실패율 자바 java (0) | 2021.06.16 |
---|---|
프로그래머스 약수의 개수와 덧셈 자바 java (0) | 2021.06.15 |
프로그래머스 내적 자바 java (0) | 2021.06.03 |
프로그래머스 3진법 뒤집기 자바 java (0) | 2021.04.26 |
프로그래머스 두 개 뽑아서 더하기 자바 java (0) | 2021.04.26 |
댓글