https://school.programmers.co.kr/learn/courses/30/lessons/77484
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
1. win_nums와 lottos의 일치 개수를 구한다.
2. lottos의 0의 개수를 구한다.
3. 최소 순위는 일치개수, 최대 순위는 (일치 개수 + 0의 개수)로 구한다.
코드
import java.util.*;
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
HashSet<Integer> winNums = new HashSet<>();
for (int num: win_nums) {
winNums.add(num);
}
int zeroCnt = 0, sameCnt = 0;
for (int lotto: lottos) {
if (winNums.contains(lotto)) {
sameCnt++;
}
else if (lotto == 0) {
zeroCnt++;
}
}
int[] answer = new int[2];
answer[0] = findRank(sameCnt + zeroCnt);
answer[1] = findRank(sameCnt);
return answer;
}
static int findRank(int cnt) {
if (cnt >= 6) return 1;
else if (cnt == 5) return 2;
else if (cnt == 4) return 3;
else if (cnt == 3) return 4;
else if (cnt == 2) return 5;
else return 6;
}
}
728x90
'Algorithm 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 : [3차] 파일명 정렬 - 자바[Java] (0) | 2023.10.12 |
---|---|
[프로그래머스] Lv.2 : 오픈채팅방 - 자바[Java] (0) | 2023.10.11 |
[프로그래머스] Lv.1 : 체육복 - 자바[Java] (0) | 2023.09.30 |
[프로그래머스] Lv.1 : 실패율 - 자바[Java] (0) | 2023.09.30 |
[프로그래머스] Lv.2 : 쿼드압축 후 개수 세기 - 자바[Java] (0) | 2023.09.08 |