728x90
문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
제한 사항
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.
문제 풀이 방법
- 우선 이 문제에서는 중복되는 수를 없애기 위해 Set()을 사용했다.
- 이중 for()문을 사용해 반복하며 numbers의 값들을 더해준다.
- 하지만 중복 인덱스 값은 더하지 않으므로 if문에 조건을 더해준다.
- 답 제출은 배열로 해야하므로 Set을 펼침 연산자로 배열에 넣어준다.
- 마지막으로 sort로 오름차순으로 나열해주고 답 제출을 하면 된다.
코드
const solution = (numbers) => {
let answer = new Set();
for(let i=0; i<numbers.length; i++){
for(let j=0; j<numbers.length; j++){
if(i !== j){
answer.add(numbers[i] + numbers[j])
}
}
}
return [...answer].sort((a, b) => a - b);
}
728x90
'코딩 테스트 > 프로그래머스 코딩 테스트 연습' 카테고리의 다른 글
2Level / 월간 코드 챌린지 시즌1 / 이진 변환 반복하기 (0) | 2022.07.09 |
---|---|
2Level / 월간 코드 챌린지 시즌1 / 삼각 달팽이 (0) | 2022.07.08 |
1Level / 월간 코드 챌린지 시즌1 / 3진법 뒤집기 (0) | 2022.07.06 |
1Level / 월간 코드 챌린지 시즌2 / 음양 더하기 (0) | 2022.07.05 |
1 Level / 월간 코드 챌린지 시즌 1 / 내적 (0) | 2022.07.04 |