-
[프로그래머스] 두 개 뽑아서 더하기- JavaScript 📝Algorithm 2022. 1. 10. 00:04
[링크]
https://programmers.co.kr/learn/courses/30/lessons/68644
[문제설명 및 입출력 예]
[내가 제출한 코드 및 풀이]
이번 문제를 풀면서 찾아본 부분은 배열에 중복을 제거하는 방법이다.
구글링을 해보니까 크게 3가지 정도가 나왔는데, 아래와 같은 방법들이었다.
1) ES6 에서 새로 등장한 data object인 set을 사용하는 방법2) filter를 사용하는 방법 (filter와 indexOf 사용)
3) includes 를 사용하는 방법 (reduce 혹은 foreach와 같이 사용)
그 중 나는 2번을 사용했다. set이 가장 쉽고 짧은 코드였으니 다음에 이 방법으로 다시 풀어보고 포스팅해야겠다.
내가 풀어나간 순서는 이중 for문을 돌려서 인덱스별 합계를 구하고, 중복을 제거한다음, 오름차순 정렬을 진행하였다.
[다른 사람의 코드]
👇
내가 작성한 코드와 비슷한데, 조금 더 짧은..
function solution(numbers) { const result = [] for(let i = 0; i < numbers.length - 1; i++){ for(let j = i+1; j < numbers.length; j++){ const sum = numbers[i] + numbers[j] if(result.indexOf(sum) < 0){ result.push(sum) } } } result.sort((a,b)=>a-b) return result }
👇 set 사용
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) }
'Algorithm' 카테고리의 다른 글
[백준 알고리즘] 4344번: 평균은 넘겠지 (JavaScript, Python) (0) 2022.01.11 [백준 알고리즘] 10869번: 사칙연산 (JavaScript, Python) (0) 2022.01.10 JavaScript 로 알고리즘 풀 때의 input, output 방식 (0) 2021.11.12 [프로그래머스] 문자열 내림차순으로 배치하기- JavaScript 📝 (0) 2021.11.11 [프로그래머스] 제일 작은 수 제거하기- JavaScript 📝 (0) 2021.11.11