728x90
반응형
✅문제설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
✅입출력 예
💡내가 작성한 코드
function solution(numbers) {
let add = [];
for(let i = 0; i < numbers.length; i++){
for(let k = 1; k < numbers.length; k++ ){
if(i != k){
add.push(numbers[i]+numbers[k])}
}
}
const newAdd = new Set(add)
return [...newAdd].sort( (a,b) => a-b)
}
💡다른 사람들 풀이
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)
}
띠용!! 배열이랑 spread operation 합칠 수 있었다!!!! 그리고 이 코드는 애초에 j = i + 1 을 해서 i 랑 j 랑 같은 인덱스가 나올 수 없도록 설정하였다!! 코드가 한 줄 더 줄어든 모습이다.
정확히 알고 가야할 지식
spread 연산자의 기본 활용
요렇게도 응용이 가능했던 것!!!
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
약수의 개수와 덧셈 (1) | 2023.12.04 |
---|---|
시저 암호 - 알파벳 함수 (0) | 2023.11.29 |
최소 직사각형 - 배열의 최소값과 최대값 구하는 함수 (0) | 2023.11.15 |
부족한 금액 계산하기 (0) | 2023.11.13 |
원소들의 곱과 합 (0) | 2023.11.07 |