[알고리즘] Algorithm Challenge_2023.5.4

우기·2023년 5월 4일
0
post-thumbnail

1️⃣ 삼총사


풀이

function solution(number) {
let sum=0

for(let i=0; i<number.length; i++){
  for(let j=i+1; j<number.length; j++){
    for(let k=j+1; k<number.length; k++){
      if(number[i]+number[j]+number[k]===0){
        sum+=1
      }
    }
  }
}

return sum
}

📝 풀이 설명

  • 이번에 알게 된 점은 중복 없이 묶는 방법이다. 이번 문제에서 반복문 초깃값 설정이 중요했다.
  • i=0,j=1,k=2 이런 식으로 작성하면 무수히 많은 경우의 수가 나온다.
  • 내가 원하는 값은 만약에 i가 첫 번째 인덱스면 j는 첫 번째 인덱스를 뺀 나머지고 k는 i와 j를 뺀 나머지로 중복 없이 묶여야 한다.
  • 그래서 반복문의 초깃값을 각각에 맞춰 작성했다. 그러니 원하는 대로 중복 없이 묶였다.
  • 그래서 각각의 값을 더해 0이 되는 값만을 찾아 출력한다.
profile
개발 블로그

0개의 댓글