[HackerRank - Java] Day 2 - 1. Lonely Integer

2023. 1. 27. 14:26Java/coding test

반응형

Lonely Integer

Given an array of integers, where all elements but one occur twice, find the unique element.

Example

a=[1,2,3,4,3,2,1]a = [1, 2, 3, 4, 3, 2, 1]

The unique element is 4.

Function Description

Complete the lonelyinteger function in the editor below.

lonelyinteger has the following parameter(s):

  • int a[n]: an array of integers

Returns

  • int: the element that occurs only once

Input Format

The first line contains a single integer, nn, the number of integers in the array.
The second line contains nn space-separated integers that describe the values in aa.

Constraints

  • 1<=n<1001 <= n < 100
  • It is guaranteed that nn is an odd number and that there is one unique element.
  • 0<=a[i]<=1000 <= a[i] <= 100, where 0<=i<n0 <= i < n.

정수로 이뤄진 배열이 있습니다.
1개의 정수를 제외하고 모든 정수는 2개씩 있습니다.

1개만 있는 정수를 리턴하는 코드를 작성하면 됩니다.

배열을 순회하면서, map에 들어있지 않은 경우에는 put하고
들어있을 경우에는 remove를 합니다.

최종 map에서 첫번째 요소를 리턴하면 됩니다.

static int lonelyInteger(List<Integer> a) {
    Map<Integer, Integer> map = new HashMap<>();
    a.forEach(i -> {
        if(map.containsKey(i))
            map.remove(i);
        else
            map.put(i, 1);
    });
    return map.keySet().stream().findFirst().orElse(0);
}
728x90
반응형