문제풀이/프로그래머스
[프로그래머스]로또의 최고 순위와 최저 순위 - JAVA
빈둥벤둥
2021. 7. 4. 14:55
[프로그래머스]로또의 최고 순위와 최저 순위
코딩테스트 연습 - 로또의 최고 순위와 최저 순위
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호
programmers.co.kr
풀이
🪑 구현, 시뮬레이션 유형의 문제이다.
🔧 로또 번호가 맞는지 확인해 주기 위해 반복문을 2중으로 사용하여 확인해 주었다. 확인하면서 '0'으로 표시된 부분의 개수도 함께 count해 주었다.
🔧 최고 순위는 최대로 로또 번호를 맞췄을때 이므로 현재 맞는 로또 번호의 개수 + '0'의 개수로 계산해 주었다.
🔧 순위를 지정하는 부분은 배열을 사용하였다. 인덱스를 로또 번호의 개수로 지정하고, 해당 개수만큼 번호를 맞췄을때의 등수 값은 value로 가지고 있도록 하였다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import java.util.*;
class Solution {
final int[] rank = {6, 6, 5, 4, 3, 2, 1};
public int[] solution(int[] lottos, int[] win_nums) {
int lowerCount = 0;
int zeroCount = 0;
for(int i = 0; i < lottos.length; i++) {
for(int j = 0; j < win_nums.length; j++) {
if(win_nums[j] == lottos[i]) lowerCount++;
}
if(lottos[i] == 0) zeroCount++;
}
int heightCount = zeroCount + lowerCount;
return new int[] {rank[heightCount], rank[lowerCount]};
}
}
|
cs |