두개 뽑아서 더하기 를 해보자

JD·2021년 10월 11일
0

중요사항

  • 값중복이 되면 안됨
  • index도 중보안됨

📢두개 뽑아서 더하기

서로 다른 인덱스에 있는 두개의 수를 뽑아 더해서 만들수있는 모든수를 배열에 오른차순으로 담아 반환

📢풀이

  • 두개의 수를 뽑는 경우가 모두 있어야 되므로 for문사용
  • 서로 다른 인덱스 이므로 i!=j 조건선언
  • 중복값을 허용 안함으로 indexOf() 조건 선언
  • 정렬하기위해 sort()사용
  • sort()는 유니코드값으로 정렬 하기때문에 정수 정렬시 a-b:오름차순을 선언함

function solution(numbers) {
    var answer = [];

    for(let i=0; i<numbers.length; i++){    
    
        for(let j=i; j<numbers.length; j++){

            if(answer.indexOf(numbers[i]+numbers[j])==-1&& i!==j){
                answer.push(numbers[i]+numbers[j]);
            }
            
        }
       
    }
    return answer.sort((a,b)=> a-b);
}

📢마치며

제출할때는 몰랐는데 기껏 j=i를 해놓고 +1을 추가안해서 조건식을 추가했다😭 너무 급하게 푸는 버릇이 있는데 세세한 부분을 좀 더 주의 깊게 살펴봐야겠다 또 set을 쓸까 하다가 배열로 바꾸는법을 몰라 안썻는데 array = [...new Set(temp)] 이런식으로 간단하게 바꿀수있는걸 기억해야겠다

📢출처

👍프로그래머스

0개의 댓글