[javascript] 배열 순회 시 중복된 요소 찾기

가장 간단한 방법 중 하나는 객체를 사용하는 것입니다. 다음은 배열을 순회하면서 중복된 요소를 찾는 예시 코드입니다.

let arr = [1, 2, 3, 4, 5, 2, 3, 6];
let duplicates = {};

for (let i = 0; i < arr.length; i++) {
   if (duplicates[arr[i]]) {
      console.log(arr[i] + "는 중복된 요소입니다.");
   } else {
      duplicates[arr[i]] = true;
   }
}

위 코드에서는 duplicates라는 빈 객체를 만들고, 배열을 순회하면서 각 요소를 키로 사용하여 해당 요소가 이미 duplicates 객체에 있는지 확인합니다. 이미 있는 경우 중복된 요소로 판단하고 출력하고, 그렇지 않은 경우에는 duplicates 객체에 해당 요소를 추가합니다.

출력 결과는 다음과 같습니다.

2는 중복된 요소입니다.
3는 중복된 요소입니다.

따라서 위 예시에서는 2와 3이 중복된 요소로 판단되었습니다.

이외에도 선형 검색 알고리즘을 사용하여 중복된 요소를 찾을 수도 있습니다. 하지만 이 경우 시간 복잡도가 O(n^2)로 비효율적일 수 있으므로, 객체를 사용하는 방법을 권장합니다.

이와 관련된 자세한 내용 및 다른 방법들을 참고하려면 여기를 확인하세요.