[Programmers] : 2021 Dev-Matching > 로또의 최고 순위와 최저 순위
- 💾 알고리즘/프로그래머스
- 2021. 11. 20. 23:10
🔗 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/77484
코딩테스트 연습 - 로또의 최고 순위와 최저 순위
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호
programmers.co.kr
💻 코드
package org.kyhslam.programmers.DevMatching2021;
import java.util.Arrays;
public class p01_01 {
public static void main(String[] args) {
int[] answer = new int[2];
//int[] lottos = {44, 1, 0, 0, 31, 25};
int[] lottos = {0, 0, 0, 0, 0, 0};
int[] win_nums = {31, 10, 45, 1, 6, 19};
int zeroCnt = 0;
int matchCnt = 0;
for (int i : lottos) {
for (int j : win_nums) {
if(i == j) matchCnt++;
}
if(i== 0) zeroCnt++;
}
System.out.println("zeroCnt = " + zeroCnt);
System.out.println("matchCnt = " + matchCnt);
//최고
int upResult = chose(zeroCnt + matchCnt);
System.out.println("upResult = " + upResult);
//최저
int downResult = chose(matchCnt);
System.out.println("downResult = " + downResult);
answer[0] = upResult;
answer[1] = downResult;
System.out.println(Arrays.toString(answer));
}
public static int chose(int target) {
int ranking = 0;
switch (target) {
case 2: ranking = 5;
break;
case 3: ranking = 4;
break;
case 4: ranking = 3;
break;
case 5: ranking = 2;
break;
case 6: ranking = 1;
break;
default: ranking = 6;
break;
}
return ranking;
}
}
💻 다른풀이
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int zero = 0;
int matched = 0;
for (int l : lottos) {
if (l == 0) {
zero++;
} else {
for (int w : win_nums) {
if (l == w) {
matched++;
break;
}
}
}
}
int min = matched;
int max = matched + zero;
int[] answer = {Math.min(7 - max, 6), Math.min(7 - min, 6)};
return answer;
}
}
'💾 알고리즘 > 프로그래머스' 카테고리의 다른 글
[Programmers] : 없는 숫자 더하기 > Java (0) | 2021.12.14 |
---|---|
[Programmers] : 2020 카카오인턴 > 키패드 누르기 (0) | 2021.12.04 |
[Programmers] : 2021 카카오 인턴 > 숫자 문자열과 영단어 > JAVA (0) | 2021.11.18 |
[Programmers] : 2021 KAKAO > 신규아이디 추천 > JAVA (0) | 2021.11.09 |
[Programmers] : Summer/Winter > 소수만들기 (0) | 2021.11.02 |