티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/68644
코딩테스트 연습 - 두 개 뽑아서 더하기
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한
programmers.co.kr
해결방법
1. numbers에서 서로 다른 인덱스에 있는 두 수를 더해 answer에 추가
2. 중복제거 후 오름차순 정렬
풀이
function solution(numbers) {
var answer = [];
for (let i = 0; i < numbers.length; i++){
for (let j = 1; j < numbers.length - i; j++){
num = numbers[i] + numbers[i+j];
answer.push(num)
}
}
answer = [...new Set(answer)]; //중복제거
answer = answer.sort((a,b)=>a-b); //오름차순
return answer;
}
배운 점
1. 배열에서 중복을 제거하는 다양한 방법
answer = [...new Set(answer)];
유일한 값만 담는 set()을 사용하고 다시 배열 안에서 전개연산자(...)를 사용하여 중복 제거된 배열로 만든다
answer = Array.from(new Set(answer));
Array.from을 사용해 중복이 제거된 Set으로부터 배열로 만든다
answer = answer.filter((a,i) => answer.indexOf(a) === i);
해당 요소의 index가 이 배열에서 처음 나오는 요소의 index와 일치하는 요소만 반환하여 배열의 중복을 제거한다
이 외에도 더 다양한 방법들이 있으며 밑의 블로그에서 참고할 수 있다
참고 https://jsikim1.tistory.com/227
JavaScript 배열 중복 제거하는 방법 5가지
JavaScript 배열 중복 제거하는 방법 5가지 JavaScript 의 배열에서 중복을 제거하는 5가지 방법을 알려드리도록 하겠습니다. 목차 set() 사용하여 배열에서 중복 제거하는 방법 filter(), indexOf() 사
jsikim1.tistory.com
'JS-algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 폰켓몬 (javascript) (0) | 2022.05.20 |
---|---|
[프로그래머스] 완주하지 못한 선수 (javascript) (0) | 2022.05.11 |
[프로그래머스] 모의고사 (javascript) (0) | 2022.05.10 |