반응형
안녕하세요.
배당 줍는 다람쥐입니다.
오늘 업로드하는 문제는 프로그래머스 Level 1, 로또의 최고 순위와 최저 순위입니다.
그러면 오늘도 문제 풀이 시작하겠습니다.
문제
https://school.programmers.co.kr/learn/courses/30/lessons/77484
문제 내용은 링크 참고 부탁드립니다.
문제풀이
핵심포인트
- 최고 순위 = 맞춘 개수 + 값이 0인 개수( 0은 당첨 번호로 변경이 가능하기 때문 )
- 최저 순위 = 맞춘 개수 ( 맞춘 개수의 등수보다 아래로는 내려갈 수 없다. )
코드
import java.util.*;
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int matchCnt = 0; // 0이 아닌 숫자 중에 당첨 번호와 일치하는 개수
int zeroCnt = 0; // 0의 개수
// 1. 0이 아닌 숫자 중에 당첨 번호와 일치하는 개수 = 최저 순위
// 2. 0은 당첨 번호로 변경이 가능하기 때문에, 최고 순위 = matchCnt + zeroCnt가 된다.
for(int l : lottos){
if(l == 0) zeroCnt++;
else{
for(int w : win_nums){
if(l == w){
matchCnt++;
break;
}
}
}
}
int min = matchCnt;
int max = matchCnt + zeroCnt;
int[] answer = {Math.min(7-max, 6), Math.min(7-min, 6)};
return answer;
}
}
반응형
'IT > Java' 카테고리의 다른 글
[프로그래머스, Level 1] 부족한 금액 계산하기(JAVA) (0) | 2022.08.31 |
---|---|
[프로그래머스, Level 1] 신규 아이디 추천(JAVA) (0) | 2022.08.31 |
[프로그래머스, Level 2] 위장(JAVA)_Hash (0) | 2021.08.15 |
[프로그래머스, Level 1] 완주하지 못한 선수(JAVA) (0) | 2021.08.11 |
[프로그래머스, Level 2] 소수 찾기(JAVA) (0) | 2021.08.07 |