⚡문제정보
for문을 이중으로 쓰면 쉽게 풀 수 있는 문제입니다
시간복잡도를 더 낮출 수 있을지가 고민되네요
🙄제한사항
numbers의 길이는 2 이상 100 이하입니다.
numbers의 모든 수는 0 이상 100 이하입니다.
🔍접근방법
서로 다른 인덱스끼리 전부 더해준다음 set으로 중복을 없애준다.
🔍나의 풀이
function solution(numbers) {
let answer = []
for(i=0; i<numbers.length ; i++) {
for(j=0;j<numbers.length ; j++) {
let plus = numbers[i] + numbers[j]
if(i != j ) {
answer.push(plus)
}
}
}
return [...new Set(answer)].sort((a,b) => a - b)
}
코드 설명은 아래에 있습니다.
function solution(numbers) {
let answer = []
//정답을 저장할 변수 선언
for(i=0; i<numbers.length ; i++) {
for(j=0;j<numbers.length ; j++) {
let plus = numbers[i] + numbers[j]
// i+j를 한값 굳이 변수로 선언안하고 바로 push해줘도 무방함
if(i != j ) {
answer.push(plus)
//i,j가 서로 다른 인덱스인경우 push
}
}
}
return [...new Set(answer)].sort((a,b) => a - b)
//set으로 중복을 없애주고 배열로만들어준 뒤 정렬함
}
반응형
'programmers' 카테고리의 다른 글
[Programmers Level 0] 등수 매기기 Javascript (0) | 2022.12.14 |
---|---|
[Programmers Level 0] 분수의 덧셈 Javascript (0) | 2022.12.13 |
[Programmers Level 1] 소수찾기 Javascript (0) | 2022.12.12 |
[Programmers Level 1] 이상한 문자 만들기 Javascript (0) | 2022.12.12 |
[Programmers Level 2 스택] 올바른 괄호 Javascript (0) | 2022.12.12 |