배열 요소의 중복 검사하기

배열은 프로그래밍에서 자주 사용되는 데이터 구조 중 하나입니다. 때로는 배열에 중복된 요소가 있는지 확인해야 할 수도 있습니다. 이 글에서는 자바스크립트를 예시로 들어 배열 요소의 중복을 검사하는 방법을 알아보겠습니다.

1. Set 사용하기

Set은 ES6부터 도입된 자료구조로, 유일한 값을 저장하기 위해 사용됩니다. 배열을 Set으로 변환한 후, 원래 배열의 길이와 Set의 길이를 비교하여 중복 여부를 확인할 수 있습니다.

const arr = [1, 2, 3, 4, 5, 5];

const set = new Set(arr);

if (arr.length === set.size) {
  console.log("배열에 중복된 요소가 없습니다.");
} else {
  console.log("배열에 중복된 요소가 있습니다.");
}

2. 객체 사용하기

객체를 활용해서 중복된 요소를 검사할 수도 있습니다. 배열의 요소를 객체의 속성으로 사용하고, 해당 속성이 이미 존재하는지를 확인하는 방법입니다.

const arr = [1, 2, 3, 4, 5, 5];

const obj = {};

for (let i = 0; i < arr.length; i++) {
  if (obj[arr[i]]) {
    console.log("배열에 중복된 요소가 있습니다.");
    return;
  }
  obj[arr[i]] = true;
}

console.log("배열에 중복된 요소가 없습니다.");

3. 이중 반복문 사용하기

이중 반복문을 사용하여 배열의 각 요소를 비교하면서 중복 여부를 검사할 수도 있습니다. 이 방법은 시간 복잡도가 O(n^2)으로 비효율적일 수 있으므로, 큰 배열에서는 사용에 주의해야 합니다.

const arr = [1, 2, 3, 4, 5, 5];

for (let i = 0; i < arr.length; i++) {
  for (let j = i + 1; j < arr.length; j++) {
    if (arr[i] === arr[j]) {
      console.log("배열에 중복된 요소가 있습니다.");
      return;
    }
  }
}

console.log("배열에 중복된 요소가 없습니다.");

결론

배열 요소의 중복을 검사하는 방법은 여러 가지가 있습니다. Set을 사용하면 간단하게 중복을 확인할 수 있고, 객체나 이중 반복문을 활용할 수도 있습니다. 자세한 내용은 MDN 문서를 참고하세요.

#programming #javascript