https://programmers.co.kr/learn/courses/30/lessons/77484
import java.util.*;
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
/*
1. 0 분리 -> 2개 배열 space complexity
2. sort each int arrays
3. check
3-1 lottos[i] == win_nums[0] cnt++
3-2 lottos[i] < win_nums[0] -> win_nums[1]...
3-3 lottos[i] > win_nums[0] -> i++
4. cnt -> 최소 cnt+ 0개수 -> 최대
*/
// #1
int zeroCnt = 0;
int winCnt = 0;
ArrayList<Integer> seperateLottos = new ArrayList<Integer>();
for(int temp : lottos) {
if(temp == 0){
zeroCnt++;
}else{
seperateLottos.add(temp);
}
}
// #2
Collections.sort(seperateLottos);
Arrays.sort(win_nums);
// #3
for(int temp : seperateLottos){
for(int idx = 0; idx < 6; idx++) {
if(temp == win_nums[idx]) winCnt++;
else if(temp > win_nums[idx]) continue;
}
}
int minimum = 0;
int maximum = 0;
int[] guideNumber = {6, 5, 4, 3, 2, 1, 0};
// #4
for(int idx = 0; idx < guideNumber.length; idx++){
if(guideNumber[idx] == winCnt) {
minimum = idx + 1;
break;
}
}
if(minimum > 6) minimum = 6;
maximum = minimum - zeroCnt;
if(maximum < 1) maximum = 1;
int[] answer = {maximum, minimum};
return answer;
}
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 부족한 금액 계산하기 (0) | 2021.08.11 |
---|---|
[프로그래머스] 상호 평가 (0) | 2021.08.11 |
[프로그래머스] - [1차] 추석 트래픽 (0) | 2021.04.07 |
[프로그래머스] - 타겟 넘버 (0) | 2021.04.06 |
[프로그래머스] - 더 맵게 (0) | 2021.04.02 |