STUDY/코딩테스트

[프로그래머스] JS 두 개 뽑아서 더하기

쑥말고인절미 2022. 9. 28. 21:42

문제


내 답안

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

메모

보자마자 완전탐색인걸까..? 하는 생각이 들었다. 맞는지는 잘 모르겠지만 뭔가 떠오르는 알고리즘이 있다는게 놀라운 발전이다(?)  주석처리한 부분은 오름차순으로 sort하는 부분인데 주석 윗줄의 한 줄과 동일한 작업을 한다. js의 메소드 작성방법의 차이인데 나중에 또 보려고 안지우고 주석처리만 해놨다.

문제를 읽고 중복이 크게 의미가 없겠다 싶었다. 그래서 중복은 신경안쓰고 계산을 한 뒤에 마지막에 중복된 수만 지워주고 오름차순으로 바꿔줬다.

오름차순으로 바꾸는 방법과 중복을 제거하는 방법은 외워두는게 좋겠다.


참고링크

https://codechacha.com/ko/javascript-remove-duplicates-in-array/

 

JavaScript - 배열에서 중복 제거, 4가지 방법

자바스크립트의 배열에서 중복 요소를 제거하는 방법을 소개합니다. Set는 중복 데이터 저장을 허용하지 않는 자료구조입니다. 이 특성을 이용하여 배열의 모든 요소를 Set에 추가하면 중복이 저

codechacha.com

https://codechacha.com/ko/javascript-sorting-arr/#1-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B0%B0%EC%97%B4-%EC%A0%95%EB%A0%AC

 

JavaScript - 배열 정렬 방법 (오름차순, 내림차순)

자바스크립트에서 문자열, 숫자, 객체 배열을 정렬하는 방법을 소개합니다. 문자열 배열의 경우 `sort()` 호출 시, 알파벳 순서로 정렬됩니다. 숫자 배열에 `sort()` 수행 시, 숫자를 문자열로 변환하

codechacha.com