프로그래머스 - 두 개 뽑아서 더하기

So'sCode·2022년 1월 5일
0

프로그래머스 - Lv1.

목록 보기
9/20
post-thumbnail

문제설명📖

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

제한사항🔐

  • numbers의 길이는 2 이상 100 이하입니다

코드🔑

function solution(numbers) {
    var answer = [];
    var sum =[];
    for(let i = 0; i < numbers.length -1; i++){
        for(let j = i+1 ; j<numbers.length; j++){
            sum = numbers[i] + numbers[j]
            if(!answer.includes(sum))
                answer.push(sum)
        }
    }
    return answer.sort((a,b)=>a-b);
}

정리 및 다른사람 코드 📚

📌 includes
includes() 메서드는 하나의 문자열이 다른 문자열에 포함되어 있는지를 판별하고, 결과를 true 또는 false 로 반환합니다.

📌 다른사람 코드

function solution(numbers) {
    const temp = []

    for (let i = 0; i < numbers.length; i++) {
        for (let j = i + 1; j < numbers.length; j++) {
            temp.push(numbers[i] + numbers[j])
        }
    }

    const answer = [...new Set(temp)]

    return answer.sort((a, b) => a - b)
}

📌 다른사람 코드 - Set()
Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있다.
=> 쉽게 말해서 중복된 값이 있다면 하나의 수를 제외한 나머지는 저장되지 않는다는 뜻.

Set 과 Array 변환
mySet = new Set([1, 2, 3, 4]);
mySet2.size; // 4
[...mySet2]; // [1, 2, 3, 4]
↓
let mySet = [...new Set(mySet2)]
profile
이왕하는거미루지말고하자.

0개의 댓글