[알고리즘] Algorithm Challenge_2023.3.27

신재욱·2023년 3월 27일
1
post-thumbnail

1️⃣ 나머지가 1이 되는 수 찾기


풀이

function solution(numbers) {
let arr = [0,1,2,3,4,5,6,7,8,9]
let answer = 0;
let sum = 0;

answer = arr.filter(x=> !numbers.includes(x))

for(let i=0; i<answer.length; i++){
  sum += answer[i]
}
    return sum
}

📝 풀이 설명

다른 사람들 풀이를 봤다. 내 풀이에서 굳이 필요 없는 부분들이 이번에 많았다..

  • number와 비교할 숫자 배열을 만들었다.
  • filter를 사용해 number와 숫자 배열과 비교해 포함되지 않는 값을 answer에 배열로 넣었다.
  • 반복문을 사용해 answer안에 숫자들을 합한다.

다른 풀이

function solution(numbers) {
    let answer = 0;

    for(let i = 0; i <= 9; i++) {
        if(!numbers.includes(i)) answer += i;
    }

    return answer;
}

1️⃣ 내적


풀이

function solution(a, b) {
    let answer = 0;

for(let el=0; el<a.length; el++){
  answer += a[el]*b[el]
}
return answer
}

📝 풀이 설명

  • 반복문 사용..^^

1️⃣ 두 개 뽑아서 더하기


풀이

function solution(numbers) {
let sum =[]

for(let i=0; i<numbers.length; i++){
for(let j = i+1; j<numbers.length; j++){
  sum.push(numbers[j]+numbers[i])
}
}

let result1 = [...new Set(sum)];
result1.sort((a,b)=>a-b)

return result1
}

📝 풀이 설명

  • 반복문 i와 반복문 j j는 i보다 인덱스 하나 앞이다.
  • i와 j를 반복분을 돌면서 더한 값을 sum배열에 넣는다.
  • sum안에 들어온 값들중에 중복값을 삭제해준다.
  • 내림차순으로 정렬해준다.
profile
2년차 프론트엔드 개발자

0개의 댓글