문제
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
- 제한사항
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.
나의 풀이
function solution(nums) {
// 배열의 두 수 더한 값 배열
// for: nums[i] + nums[j] -> arr 중복검사 -> 없으면 추가
let arr = [];
for(let i = 0; i < nums.length; i++) {
for(let j = i + 1; j < nums.length; j++) {
let sum = nums[i] + nums[j];
if (!arr.includes(sum)) arr.push(sum);
}
}
return arr.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)
}
set
을 사용해서 중복을 없앴다.set
의 사용에도 익숙해져야겠다!
정확도 테스트 결과
'Coding test' 카테고리의 다른 글
[프로그래머스] 약수의 개수와 덧셈 (Level 1) (0) | 2022.04.19 |
---|---|
[프로그래머스] 음양 더하기 (Level 1) (0) | 2022.04.19 |
[프로그래머스] K번째 수 (Level 1) (0) | 2022.04.19 |
[프로그래머스] 소수 만들기 (Level 1) (0) | 2022.04.18 |
[프로그래머스] 없는 숫자 더하기 (Level 1) (0) | 2022.04.18 |