728x90
반응형
이번 문제에 대한 자세한 사항은 다음 링크를 참조하세요.
프로그래머스 level 1에 자주 출제되는 유형 중의 하나이다. 주어진 숫자 배열을 해당 배열의 길이만큼 for문으로 탐색하면서 i는 1씩 증가하는데, 이렇게 1씩 증가하는 i에다 나머지 숫자들을 뜻하는 j를 더하여 정답 배열에 j가 없다면 push하는 식으로 풀면 된다. 입력 받는 숫자 배열 및 정답 배열을 오름차순으로 정렬해줘야 한다는 점에 유의하자. 그리고 중복을 제거하는 데에는 if문을 사용하지 않고 Set()을 활용해도 된다.
Solutions
Solution 1.
function solution(numbers) { /* My Solution */ const answer = []; numbers.sort((a, b) => a - b); for (let i = 0; i < numbers.length; i++) { for (let j = i + 1; j < numbers.length; j++) { const sum = numbers[i] + numbers[j]; if (!answer.includes(sum)) answer.push(sum); } } return answer.sort((a, b) => a - b); }
Solution 2.
function solution(numbers) { /* Set Ver. */ let answer = []; numbers.sort((a, b) => a - b); for (let i = 0; i < numbers.length; i++) { for (let j = i + 1; j < numbers.length; j++) { const sum = numbers[i] + numbers[j]; answer.push(sum); } } return (answer = [...new Set(answer)].sort((a, b) => a - b)); }
728x90
반응형
'👩💻 Programming > Coding Test 문제 풀이' 카테고리의 다른 글
[Programmers] level 1: 최소직사각형 by JavaScript (0) | 2022.07.08 |
---|---|
[Programmers] level 1: 2016년 by JavaScript (0) | 2022.07.08 |
[Programmers] level 1: 예산 by JavaScript (0) | 2022.07.07 |
[Programmers] level 1: 3진법 뒤집기 by JavaScript (0) | 2022.07.07 |
[Programmers] level 1: 약수의 개수와 덧셈 by JavaScript (0) | 2022.07.06 |
댓글