💡풀이
import java.util.Arrays;
import java.util.Set;
import java.util.stream.Collectors;
class Solution {
public int solution(int[] nums) {
// 중복 포켓몬 제거
Set<Integer> set = Arrays.stream(nums)
.boxed()
.collect(Collectors.toSet());
return Math.min(set.size(), nums.length / 2);
}
}
📖새로 배운 부분
// ❌ 컴파일 에러!
int[] nums = {1, 2, 3};
Set<Integer> set = new HashSet<>(List.of(nums));
array -> set 변환 시
int != Integer 타입이 일치하지 않아서 바로 new 할 수 없으니까 stream으로 변환하자!
int[] nums = {1, 2, 3};
Set<Integer> set = Arrays.stream(nums)
.boxed() // int → Integer 변환
.collect(Collectors.toSet());
Integer[] arr = Arrays.stream(nums).boxed().toArray(Integer[]::new);
Set<Integer> set = new HashSet<>(Arrays.asList(arr));
// 이렇게 해도 되긴함
GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.
프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Programmers' 카테고리의 다른 글
[프로그래머스, Java] 모의고사 (1) | 2025.07.17 |
---|---|
[프로그래머스, Java] 2016년 (0) | 2025.07.17 |
[프로그래머스, Java] 기사단원의 무기 (0) | 2025.07.16 |
[프로그래머스, Java] 추억 점수 (0) | 2025.07.16 |
[프로그래머스, Java] 비밀지도 (1) | 2025.07.15 |