Skip to content

21.03.14 [Codility] AbsDistinct #191

@blossun

Description

@blossun

아이디어

  • Integer 최솟값일 경우 주의
    • 별도로 등장 여부를 체크해서 등장한 경우에 +1 해 줌.
  • 중복 저장되지 않는 Set에 저장

어려운점 & 실수

정답

import java.util.HashSet;
import java.util.Set;

public class AbsDistinct {
    public int solution(int[] A) {
        Set<Integer> elements = new HashSet<>();
        boolean intMinValue = false;
        for (int number : A) {
            if (number < 0) {
                if (number == Integer.MIN_VALUE) {
                    intMinValue = true;
                } else {
                    elements.add(number * -1);
                }
            } else {
                elements.add(number);
            }
        }
        int count = elements.size();
        if (intMinValue) {
            count++;
        }
        return count;
    }
}

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions