July 16, 2023
N개의 정수로 구성된 비어 있지 않은 배열 A가 주어집니다. 배열은 홀수 개의 요소를 포함하며, 배열의 각 요소는 짝을 이루지 않은 한 요소를 제외하고 같은 값을 가진 다른 요소와 짝을 이룰 수 있습니다.
예를 들어 배열 A에서
a[0] = 9 a[1] = 3 a[2] = 9
a[3] = 3 a[4] = 9 a[5] = 7
A[6] = 9함수를 작성합니다:
function solution(A);위의 조건을 충족하는 N개의 정수로 구성된 배열 A가 주어지면 쌍을 이루지 않은 요소의 값을 반환하는 함수입니다.
예를 들어 배열 A가 주어졌을 때
a[0] = 9 a[1] = 3 a[2] = 9
a[3] = 3 a[4] = 9 a[5] = 7
A[6] = 9이면 위의 예에서 설명한 것처럼 함수는 7을 반환해야 합니다.
다음 가정에 대한 효율적인 알고리즘을 작성합니다:
각 배열을 순회하면서 각 값이 존재하면 삭제하고, 존재하지 않으면 추가하는 방식으로 진행하면 마지막엔 홀수인 값만 남게 된다.
자료 조회, 추가, 삭제가 효율적인 Set 자료구조를 선택
function solution(A) {
const info = new Set()
for (let i = 0; i < A.length; i++) {
if (!info.has(A[i])) {
info.add(A[i])
} else {
info.delete(A[i])
}
}
const result = [...info]
return result[0]
}