Javascript
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
function solution(numbers) {
let answer = [];
for (let i=0;i<numbers.length;i++) {
for (let j=i+1;j<numbers.length;j++) {
answer.push(numbers[i]+numbers[j]);
};
};
answer = answer.filter(onlyUnique).sort((a, b) => a - b)
return answer;
}
여기서 duplicates를 제거하는 방법을 stackoverflow에서 찾아서 했는데
Set자료형을 Javascript에서도 사용하는 방법을 검색하다가 처음보는 spread syntax를 발견.
Spread syntax (...)
allows an iterable such as an array expression or string to be expanded in places where zero or more arguments (for function calls) or elements (for array literals) are expected, or an object expression to be expanded in places where zero or more key-value pairs (for object literals) are expected.
Description
Spread syntax can be used when all elements from an object or array need to be included in a list of some kind.
// Use to remove duplicate elements from the array
const numbers = [2,3,4,4,2,3,3,4,4,5,5,6,6,7,5,32,3,4,5]
console.log([...new Set(numbers)])
// [2, 3, 4, 5, 6, 7, 32]
set 자료형을 이용해서 중복을 제거하고 다시 bracket을 사용해서 array로 만든 후 정렬 메서드를 사용
function solution(numbers) {
let answer = [];
for (let i=0;i<numbers.length;i++) {
for (let j=i+1;j<numbers.length;j++) {
answer.push(numbers[i]+numbers[j]);
};
};
answer = [...new Set(answer)].sort((a, b) => a - b)
return answer;
}
Python
def solution(numbers):
answer = []
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
answer.append(numbers[i]+numbers[j])
answer = list(set(answer))
answer.sort()
return answer
[Later]
What is "new" in JS?
ref
자바스크립트 개발자라면 알아야 할 33가지 개념 #16 자바스크립트 : 'new' 연산자
들어가기 전에 이 포스팅은 https://codeburst.io/javascript-for-beginners-the-new-operator-cee35beb669e 에 있는 포스팅들을 번역한 것입니다. 오역이나 의역이 있을 수 있습니다. 지적해주시면 확인 후 바로 정정
velog.io
'Algorithm' 카테고리의 다른 글
| [프로그래머스] 가운데 글자 가져오기 (JS, Python) (0) | 2021.01.25 |
|---|---|
| [프로그래머스] 2016년 (Python, JS) (0) | 2021.01.25 |
| [프로그래머스] k번째 수 (JS, Python) (0) | 2021.01.24 |
| [프로그래머스] 체육복 (javascript) (0) | 2021.01.23 |
| [프로그래머스] 체육복 (python) (0) | 2021.01.18 |
댓글