문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/1845

제한 사항

입출력 예

풀이
import java.util.Arrays;
class Solution {
public int solution(int[] nums) {
return (int)Math.min(Arrays.stream(nums).distinct().count(), nums.length / 2);
}
}
ㄴ 한 줄 스트림 풀이
import java.util.Set;
import java.util.HashSet;
class Solution {
public int solution(int[] nums) {
Set<Integer> numSet = new HashSet<>();
for (int num : nums) numSet.add(num);
return numSet.size() < (nums.length / 2) ? numSet.size() : nums.length / 2;
}
}
후기
중복 제거만 잘 하면 쉽게 풀 수 있다.
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][JAVA][Lv. 2] JadenCase 문자열 만들기 (0) | 2023.07.26 |
|---|---|
| [프로그래머스][JAVA][Lv. 2] 쿼드압축 후 개수 세기 (0) | 2023.07.26 |
| [프로그래머스][JAVA][Lv. 1] 소수 찾기 (0) | 2023.07.24 |
| [프로그래머스][JAVA][Lv. 1] 행렬의 덧셈 (0) | 2023.07.24 |
| [프로그래머스][JAVA][Lv. 1] x만큼 간격이 있는 n개의 숫자 (0) | 2023.07.24 |