💡풀이
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
// 1. 0의 개수를 센다
int zeroCount = (int) Arrays.stream(lottos)
.filter(e -> e == 0)
.count();
// 2. contains 메서드 사용을 위해 당첨 번호를 리스트로 변환
List<Integer> winList = Arrays.stream(win_nums)
.boxed()
.collect(Collectors.toList());
// 3. 당첨 번호와 일치하는 로또 번호 개수를 센다
int sameCount = (int) Arrays.stream(lottos)
.filter(winList::contains)
.count();
// 4. [최고 순위, 최저 순위]를 반환
// 최고 순위: 일치하는 번호 + 0의 개수
// 최저 순위: 일치하는 번호만
int[] lottery = new int[]{6, 6, 5, 4, 3, 2, 1};
return new int[]{lottery[sameCount + zeroCount], lottery[sameCount]};
}
}
GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.
프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Programmers' 카테고리의 다른 글
[프로그래머스, Java] 문자열 나누기 (0) | 2025.07.18 |
---|---|
[프로그래머스, Java] 둘만의 암호 (0) | 2025.07.18 |
[프로그래머스, Java][1차] 다트 게임 (0) | 2025.07.18 |
[프로그래머스, Java][PCCE 기출문제] 9번 / 지폐 접기 (0) | 2025.07.18 |
[프로그래머스, Java] 실패율 (0) | 2025.07.18 |