
Description
배열 A가 N개의 정수로 구성된 경우 배열 A의 고유 값 수를 반환합니다.
that, given an array A consisting of N integers, returns the number of distinct values in array A.
For example, given array A consisting of six elements such that:
A[0] = 2 A[1] = 1 A[2] = 1 A[3] = 2 A[4] = 3 A[5] = 1
the function should return 3, because there are 3 distinct values appearing in array A, namely 1, 2 and 3.
Write an efficient algorithm for the following assumptions:
N is an integer within the range [0..100,000];each element of array A is an integer within the range [−1,000,000..1,000,000].
Solution 1. Using Set
public int solution(int[] A) {
Set<Integer> set = new HashSet<>();
for(int num : A){
set.add(num);
}
return set.size();
}
Solution 2. Stream API
public int solution(int[] A) {
return (int)Arrays.stream(A).distinct().count();
}
Reference
Distinct coding task - Learn to Code - Codility
Compute number of distinct values in an array.
app.codility.com
'알고리즘 > Codility' 카테고리의 다른 글
[Codility] Lession7. Brackets - 문제풀이 (0) | 2022.03.05 |
---|---|
[Codility] Lession5. CountDiv - 문제풀이 (0) | 2022.03.05 |
[Codility] Lesson5. PassingCars - 문제풀이 (0) | 2022.02.25 |
[Codility] Lesson4. MissingInteger - 문제풀이 (0) | 2022.02.25 |
[Codility] Lesson4. MaxCounters - 문제풀이 (0) | 2022.02.25 |