✏️기록하는 즐거움
article thumbnail
반응형

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. |  제출

<javascript />
function solution(numbers) { const result = []; for (let i = 0; i < numbers.length; i++) { for (let j = i + 1; j < numbers.length; j++) { let sum = numbers[i] + numbers[j]; if (result.indexOf(sum) === -1) { result.push(sum); } else { continue; } } } return result.sort((a, b) => a - b); }

 

2. |  풀이과정

중복되지 않은 덧셈 결과들을 반환하기 위해서 indexOf 메서드를 사용하였다.

다른 사람의 풀이를 보니, 모든 값을 더해주고 유일한 값을 저장하는 Set 객체로 만들어주는 것도 하나의 방법이었다!

<javascript />
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 result = [...new Set(temp)] return result.sort((a, b) => a - b) }

 

3. |  개념

3.1. String.prototype.indexOf()

  • 문자열에서 지정된 요소가 발견되는 첫 번째 인덱스를 반환하고 해당 값이 없으면 -1을 반환한다.

3.2. Set

  • Set은 중복되지 않은 유일한 값으로 이루어진 콜렉션 객체이다.
  • new 연산자로 객체를 생성할 수 있다.
<javascript />
const mySet = new Set();
  • size 프로퍼티를 사용하면 Set 객체의 크기를 알 수 있다.
<javascript />
const mySet = new Set([1, 3]); console.log(mySet.size); // 2

 

반응형
profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!