https://programmers.co.kr/learn/courses/30/lessons/77484
코딩테스트 연습 - 로또의 최고 순위와 최저 순위
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호
programmers.co.kr
풀이
이 문제는 그렇게 어려울것이 없는 문제다 문제를 요약하자면 비어있는수를 통해 당첨될수있는 가장 높은등수와 가장 낮은 등수를 구하면 된다. 즉 가장 높은등수는 0이 전부 당첨된 수라는것이고 가장 낮은 등수는 0이 전부 당첨되지 않은 등수라는 것이다. 그리 어려운 문제가 아니니 코드를 보면 금방 이해가 될것이다.
코드
public class Solution {
int[] solution(int[] lottos, int[] win_nums) {
int[] ans = new int[2];
int cnt0=0, same=0;
for (int lotto : lottos) {
if(lotto == 0)
cnt0++;
for (int win_num : win_nums) {
if(win_num == lotto)
same++;
}
}
ans[0] = getGrede(same+cnt0);
ans[1] = getGrede(same);
return ans;
}
int getGrede(int n) {
switch (n) {
case 2:
return 5;
case 3:
return 4;
case 4:
return 3;
case 5:
return 2;
case 6:
return 1;
default:
return 6;
}
}
}
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 (파이썬) (0) | 2023.03.31 |
---|---|
[프로그래머스] 피보나치 수 (파이썬) (0) | 2023.03.30 |
[프로그래머스] 다음 큰 숫자 (파이썬) (0) | 2023.03.30 |
[프로그래머스] 바탕화면 정리 (파이썬) (0) | 2023.03.07 |
[프로그래머스] 크기가 작은 부분문자열 (0) | 2023.01.03 |