배열 요소 중 대소문자 구분 없이 중복 제거하기

배열에는 대소문자가 다르지만 의미적으로 동일한 요소가 중복으로 존재할 수 있습니다. 이 경우, 대소문자를 구분하지 않고 중복을 제거하려면 어떻게 해야 할까요?

1. 대소문자를 일치시키기

먼저, 배열 요소들의 대소문자를 일치시켜야 합니다. 이를 위해 배열을 순회하면서 모든 요소를 소문자로 변환하는 방법을 사용할 수 있습니다. 예를 들어, JavaScript에서는 다음과 같은 코드를 사용할 수 있습니다:

const arr = ["apple", "Apple", "banana", "Banana"];
const newArr = arr.map(item => item.toLowerCase());

위의 예제에서는 map 메서드를 사용하여 배열의 각 요소를 소문자로 변환한 새로운 배열을 생성합니다.

2. 중복 제거하기

일치시킨 후의 배열에서 중복을 제거하려면 어떻게 해야 할까요? 다양한 언어에서는 이를 위한 다양한 방법을 제공합니다.

JavaScript 예제

JavaScript에서는 Set 객체를 사용하여 중복을 제거할 수 있습니다. 예를 들어, 위에서 소문자로 변환한 newArr 배열에서 중복을 제거하려면 다음과 같이 코드를 작성할 수 있습니다:

const uniqueArr = [...new Set(newArr)];

위의 코드는 Set 객체를 이용하여 중복을 제거한 후, 다시 배열로 변환하는 방법입니다.

Python 예제

Python에서는 set 데이터 타입을 이용하여 중복을 제거할 수 있습니다. 예를 들어, 대소문자를 일치시킨 후의 리스트에서 중복을 제거하려면 다음과 같이 코드를 작성할 수 있습니다:

arr = ["apple", "Apple", "banana", "Banana"]
new_arr = list(set(map(str.lower, arr)))

위의 코드는 map 함수를 사용하여 리스트의 각 요소를 소문자로 변환한 후, set 데이터 타입을 이용하여 중복을 제거합니다. 마지막으로, list 함수를 사용하여 다시 리스트로 변환합니다.

이와 같이 각 언어에서는 다양한 방법으로 배열 요소 중 대소문자를 구분하지 않고 중복을 제거할 수 있습니다. 언어에 따라 구현 방법이 다르므로, 해당 언어의 문서를 참고하여 적절한 방법을 선택하시기 바랍니다.

참고 자료