[알고리즘] 두 개 뽑아서 더하기

노승철 ·2021년 2월 11일
0

알고리즘

목록 보기
3/10
post-thumbnail

문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.

제한 사항

  • numbers의 길이는 2 이상 100 이하입니다.
    • numbers의 모든 수는 0 이상 100 이하입니다.

입출력 예

작성 코드

const solution = (numbers) =>  {
    let result = [];
       
    for(let i=0; i < numbers.length; i++) {
        for(let j=i+1; j < numbers.length; j++) {
            const number = numbers[i] + numbers[j];
            
            result.push(number);
        }     
    }
    const uniqueNumbers = [...new Set(result)];
    
    uniqueNumbers.sort((a, b) => {
        return a-b;
    })
    
    return uniqueNumbers;    
}

정리
result 배열의 중복체크를 indexOf를 사용할 수도 있지만 ...new Set() 함수를 사용하여 현재 배열의 중복된 값을 제거 후 새로운 배열을 반환받도록 했다. 코드가 2줄이나 줄었음 ㅎㅎ 개꿀

sort 정렬은 자바스크립트 MDN 문서를 참고했다. 내림차순일 경우 a, b 인자의 순서를 바꾸어서 리턴하면 됨. ex) return b-a

profile
👨🏻‍💻 #developer#일상#공부#기록

0개의 댓글

관련 채용 정보