https://programmers.co.kr/learn/courses/30/lessons/77484?language=java
풀이
풀이는 간단하다.
- 당첨 가능한 최고 순위는 0이 모두 당첨 번호라는 가정을 하고 순위를 구하고,
- 당첨 가능한 최저 순위는 0이 모두 당첨 번호가 아니라는 가정을 하고 순위를 구한다.
lottos에서 당첨된 번호의 개수를 구해 cntNum에 저장하고, 0인 번호의 개수를 cnt0 변수에 따로 저장한다.
- 최고순위 answer[0]은 7에서 당첨된 번호와 0개수를 더한 수를 빼준다
- 최저순위 answer[1]은 7에서 당첨된 번호수를 빼준다. 이때, 당첨된 수가 0개일경우, 무조건 낙첨임을 주위하자!
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int[] answer = {0,0}; // 당첨가능한 최고순위, 최저순위
int cntNum =0; // 0 제외 당첨번호개수
int cnt0 = 0; // 0 개수
for(int i: win_nums){
for(int j=0;j<lottos.length;j++){
if(i==lottos[j]) {cntNum++; break;}
}
}
for(int i : lottos){
if(i==0) cnt0++;
}
answer[0] = 7-(cntNum+cnt0);
answer[1] = (cntNum==0)? 6: 7-cntNum;
return answer;
}
}
'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글
[Java] 프로그래머스 Lv.2 > 다리를 지나는 트럭 (0) | 2022.02.28 |
---|---|
[Java] 프로그래머스 : 숫자 문자열과 영단어 (0) | 2022.02.21 |
[Java] 프로그래머스 : 실패율 (0) | 2022.02.20 |
[Java] 프로그래머스 : 정수 내림차순으로 배치하기 (0) | 2022.02.19 |
[Java] 프로그래머스 : 신고 결과 받기 (0) | 2022.02.18 |