프로그래머스

자바스크립트 삼총사

늘곰's 2023. 8. 29. 09:43

문제는 생각보다 엄청 쉽게 풀렷는데 console로 찍어보니 오히려 더 이해가 잘 안되서 그냥

콘솔을 전부 분석했다.. 

for 로 겹치지 않게 만든 코드 때문에  123  124 125 같이 시작해서 겹치지 않는 숫자로 돌린 걸 볼 수 있엇다.

// 3명의 정수 번호를 가지고있음
// 학생이 5명 정수번호 -2 3 0 2 -5
// 배열중 세개를 더했을때 0이 나오는 개수 를 구해라?
// for 문 으로 number 의 배열을 나타냄
// 그 배열들을 3개 더해서 0이 되는 값을 구하라
//number[i] + number[i] + number[i] ===0 이면 정답에 +=?
// 이러면 그냥 배열이 1 1 1 / 2 2 2 /3 3 3 이런식으로 됨
// for 문을 세개를 돌려서 각각의 인덱스가 절대 겹치지 않도록 변수 x=0 y= x+1 z= y+1 을햇다
function solution(number) {
    var answer = 0;
    for(let x = 0; x<number.length ; x++){

        for(let y=x+1; y<number.length ; y++){
            //console.log(number[x])
            for(z = y+1; z<number.length; z++){
                //console.log(number[x])
                // console.log(number[y])
                // console.log(number[z]) // 
                if(number[x] + number[y] + number[z] ===0){
                    answer +=1
                }
            }
        }

        }
  
    return answer;
}

console.log(solution([-2,3,0,2,-5]))

// x= -2 -2 -2 -2 -2 -2  3  3  3  0 
// y=  3  3  3  0  0  2  0  0  2  2 
// z=  0  2 -5  2 -5 -5  2 -5 -5 -5 
//              1              1      
// 123 1
// 124 2
// 125 3
// 134 4
// 135 5
// 145 6
// 234 7
// 235 8
// 245 9
// 345 10