Lv 1. 두 개 뽑아서 더하기
📚 문제
두 개 뽑아서 더하기
https://programmers.co.kr/learn/courses/30/lessons/68644
💡 접근
두 개 뽑아서 더하기
https://programmers.co.kr/learn/courses/30/lessons/68644
배열에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 answer 배열에 넣어준다.
answer 배열을 오름차순으로 정렬해주고
filter()로 반복된 요소를 제거한다.
⌨️ 코드
function solution(numbers){
var answer = [];
for (var i = 0; i < numbers.length - 1; i++){
for(var j = i+1; j < numbers.length; j++){
// 서로 다른 두 요소를 뽑아
answer.push(numbers[i] + numbers[j]); // 더해서 배열에 push해서 넣어준다.
}
}
return answer.sort((a,b) => a - b).filter((el,index) => answer.indexOf(el) === index);
// indexOf(el)은 el의 첫 번째 요소를 반환하기 때문에 index랑 indexOf(el)을 비교해서 같은 것만 반환하면 중복된 요소를 없앨 수 있다.
}
function solution(numbers){
var answer = [];
for (var i = 0; i < numbers.length - 1; i++){
for(var j = i+1; j < numbers.length; j++){
// 서로 다른 두 요소를 뽑아
answer.push(numbers[i] + numbers[j]); // 더해서 배열에 push해서 넣어준다.
}
}
return answer.sort((a,b) => a - b).filter((el,index) => answer.indexOf(el) === index);
// indexOf(el)은 el의 첫 번째 요소를 반환하기 때문에 index랑 indexOf(el)을 비교해서 같은 것만 반환하면 중복된 요소를 없앨 수 있다.
}
다른 사람 풀이
return answer = [...new Set(array)].sort((a, b) => a - b);
✅ 메소드 정리
Set
-
자료형에 관계없이 유일한 값을 저장한다.
-
syntax
new Set([iterable]);
... (Spread Operator)
- 배열이나 문자열같이 반복가능한 객체를 하나씩 펼쳐서 리턴한다.
- ex) new를 사용해 생성자를 호출할 때 쉽게 전개할수 있다
var dateFields = [1970, 0, 1]; // 1 Jan 1970
var d = new Date(...dateFields);
📝 리뷰
자료형에 관계없이 유일한 값을 저장한다.
syntax
new Set([iterable]);
var dateFields = [1970, 0, 1]; // 1 Jan 1970
var d = new Date(...dateFields);
다른 사람의 풀이에서 전개연산자와 Set 객체에 대해 공부할 수 있었다.
Author And Source
이 문제에 관하여(Lv 1. 두 개 뽑아서 더하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@khakaa/Lv-1.-두-개-뽑아서-더하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)