https://programmers.co.kr/learn/courses/30/lessons/77484
코딩테스트 연습 - 로또의 최고 순위와 최저 순위
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호
programmers.co.kr
100% 나의 힘으로 풀수 있는 level1...
다른 사람들 풀이 보면 현타오지만, 차근차근 알아보도록!!!!
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int[] answer = new int[2];
Arrays.sort(lottos);
Arrays.sort(win_nums);
int lo_zero = 0, win_zero=0;
//0갯수 구하기
for(int i : lottos) if(i == 0) lo_zero++;
for(int i : win_nums) if(i == 0) win_zero=1;
//맞은 갯수
int math = 0;
//다른 갯수
int notMath = 0;
for(int i = 0; i < 6; i++) {
int tmp = 0;
for(int j = 0; j < 6; j ++) {
tmp = win_nums[j];
if(tmp != 0 && lottos[i] == tmp) math++;
}
if(tmp != 0 && lottos[i] != 0 & tmp != lottos[i]) notMath++;
}
//notMath가 앞으로 맞출수 있는 수.
//최고등수
int result1 = 0, result2=0;
if(win_zero > 0) {
result1 = math + lo_zero -1;
result2 = math + 1;
} else {
result1 = math + lo_zero;
result2 = math;
}
if(result1 == 1 || result1 == 0) {
answer[0] = 6;
} else {
answer[0] = 7-result1;
}
if(result2 == 1 || result2 == 0) {
answer[1] = 6;
} else {
answer[1] = 7-result2;
}
return answer;
}
}
'코딩테스트 > programmers' 카테고리의 다른 글
올바른 괄호 - java (0) | 2022.08.16 |
---|---|
신고 결과 받기 (0) | 2022.08.13 |
[array03]H-Index (0) | 2022.06.10 |
[array02]가장 큰 수 (0) | 2022.06.10 |
[array01]K번째 수 (0) | 2022.06.10 |