blog/leetcode_three_numbers_sum
Opened this issue · 3 comments
이중 배열을 정렬할 때는 배열의 각 요소(또는 행)가 다시 배열인 경우를 말합니다. 이러한 이중 배열을 정렬하는 방법은 배열의 각 내부 요소(배열)를 기준으로 정렬하는 것입니다. JavaScript에서 sort
함수를 사용하여 이중 배열을 여러 기준으로 정렬할 수 있습니다. 여기 몇 가지 일반적인 예시를 들어보겠습니다:
1. 첫 번째 요소를 기준으로 정렬
이중 배열의 각 내부 배열의 첫 번째 요소를 기준으로 정렬합니다.
let array = [[3, 4, 5], [1, 2, 3], [2, 3, 4]];
array.sort((a, b) => a[0] - b[0]);
console.log(array); // [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
2. 두 번째 요소를 기준으로 정렬
이중 배열의 각 내부 배열의 두 번째 요소를 기준으로 정렬합니다.
let array = [[3, 4, 5], [1, 2, 3], [2, 3, 4]];
array.sort((a, b) => a[1] - b[1]);
console.log(array); // [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
3. 복수의 기준으로 정렬
첫 번째 요소를 기준으로 정렬한 후, 첫 번째 요소가 같을 경우 두 번째 요소를 기준으로 정렬합니다.
let array = [[3, 1, 5], [3, 2, 3], [2, 3, 4]];
array.sort((a, b) => {
if (a[0] === b[0]) {
return a[1] - b[1];
}
return a[0] - b[0];
});
console.log(array); // [[2, 3, 4], [3, 1, 5], [3, 2, 3]]
4. 내림차순 정렬
이중 배열의 각 내부 배열의 첫 번째 요소를 기준으로 내림차순 정렬합니다.
let array = [[3, 4, 5], [1, 2, 3], [2, 3, 4]];
array.sort((a, b) => b[0] - a[0]);
console.log(array); // [[3, 4, 5], [2, 3, 4], [1, 2, 3]]
이러한 정렬 방법들은 sort
함수의 비교 함수(comparison function)를 적절히 정의함으로써, 다양한 기준에 따라 이중 배열을 정렬할 수 있게 합니다. 이 비교 함수는 두 요소 a
와 b
를 받아서, a
가 b
보다 작으면 음수, 같으면 0, 크면 양수를 반환합니다. 이 반환값을 통해 sort
함수는 배열의 순서를 결정합니다.
이중 배열에서 중복된 요소를 제거하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법 중 하나는 이중 배열을 문자열로 변환하여 Set
을 사용하는 것입니다. 이 방법은 각 내부 배열을 문자열로 변환한 후, 이 문자열을 기반으로 중복을 제거합니다.
다음은 이중 배열에서 중복을 제거하는 JavaScript 코드 예시입니다:
let array = [[1, 2], [2, 3], [1, 2], [3, 4]];
// 배열의 각 요소를 문자열로 변환하여 Set을 사용해 중복 제거
let uniqueArray = Array.from(new Set(array.map(JSON.stringify))).map(JSON.parse);
console.log(uniqueArray); // 결과: [[1, 2], [2, 3], [3, 4]]
이 코드는 다음 단계를 거칩니다:
array.map(JSON.stringify)
: 각 내부 배열을 JSON 문자열로 변환합니다.new Set(...)
: 문자열로 변환된 배열을 Set에 넣어 중복을 제거합니다.Array.from(...)
: Set을 다시 배열로 변환합니다..map(JSON.parse)
: 각 문자열을 다시 배열로 변환합니다.
이 방법은 간단하고 직관적이지만, 크기가 큰 배열 또는 복잡한 데이터 구조에 대해서는 성능상의 고려가 필요할 수 있습니다. 또한, 이 방법은 내부 배열의 순서가 중요하며, 배열의 요소가 JSON으로 표현 가능한 데이터(예: 순환 참조가 없는 객체)여야 합니다.
Set 객체의 간단한 사용법도 있다
기본 배열에서 중복된 요소를 제거하는 가장 간단한 방법은 JavaScript의 Set
객체를 사용하는 것입니다. Set
은 중복을 허용하지 않는 컬렉션이므로, 배열을 Set
으로 변환한 후 다시 배열로 되돌리면 중복된 요소가 제거된 배열을 얻을 수 있습니다.
다음은 기본 배열에서 중복을 제거하는 간단한 예시입니다:
let array = [1, 2, 2, 3, 4, 4, 5];
// Set을 사용하여 중복 제거
let uniqueArray = [...new Set(array)];
console.log(uniqueArray); // 결과: [1, 2, 3, 4, 5]
이 코드에서 new Set(array)
는 배열 array
에서 중복된 요소를 제거하여 Set
객체를 생성합니다. 그 후, 스프레드 연산자 ...
를 사용하여 Set
객체를 다시 배열로 변환합니다.
이 방법은 간결하고 효율적이며, 대부분의 경우에 적합합니다. 기본적인 데이터 타입(숫자, 문자열, 불리언 등)을 포함하는 배열에 특히 유용합니다.