5AMSUNG

[codility] AbsDistinct 본문

Java

[codility] AbsDistinct

짝구이 2023. 5. 19. 14:23
반응형

문제안에 답이있는..

 

절대값 중복제거 

 

Math  클레스의 절대값을 구하는 abs 메소드를 사용하여 양수 음수 구분없이 처리 하고 중복을 허용하지 않는 자료구조 중 Set 을 사용하여 풀었드아. 

 

A non-empty array A consisting of N numbers is given. The array is sorted in non-decreasing order. The absolute distinct count of this array is the number of distinct absolute values among the elements of the array.

For example, consider array A such that:

A[0] = -5 A[1] = -3 A[2] = -1 A[3] = 0 A[4] = 3 A[5] = 6

The absolute distinct count of this array is 5, because there are 5 distinct absolute values among the elements of this array, namely 0, 1, 3, 5 and 6.

Write a function:

 

class Solution {

      public int solution(int[] A);

}

 

that, given a non-empty array A consisting of N numbers, returns absolute distinct count of array A.

For example, given array A such that:

A[0] = -5 A[1] = -3 A[2] = -1 A[3] = 0 A[4] = 3 A[5] = 6

the function should return 5, as explained above.

Write an efficient algorithm for the following assumptions:

 

N is an integer within the range [1..100,000];

each element of array A is an integer within the range [−2,147,483,648..2,147,483,647];

array A is sorted in non-decreasing order.

Math.abs 가 절대값이고 Set 으로 중복제거를  했더니 통과..

easy 는 easy 인데..

 

나의 풀이 

public static int solution(int[] A) {
    int ret = 0;
    Set<Integer> set = new HashSet<>();
    for (int aa : A){
        set.add(Math.abs(aa));
    }
    ret = set.size();
    return ret;
}

결과  

 

실행결과

코테 풀이 이런거 올려서 에드센스 빠구 먹는건가..

 

반응형

'Java' 카테고리의 다른 글

[AOP] Aspect Oriented Programming  (0) 2023.07.23
[java] Collectors.toMap  (0) 2023.05.30
[codilty] MaxProfit  (1) 2023.05.16
[groom] 카드모으기  (0) 2023.05.10
[java] 쓰레드 세이프(Thread Safe)  (0) 2023.05.08