https://school.programmers.co.kr/learn/courses/30/lessons/131705
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(number) {
let samchongsa = [];
var samchongsalist = [];
let sum = 0;
let sumarr = [];
let result = 0;
for (i=0; i<number.length; i++){
for (j=0; j<number.length; j++){
if (i!=j){
for (k=0; k<number.length; k++){
if ((j!=k)&(k!=i)){
samchongsa.push(number[i]);
samchongsa.push(number[j]);
samchongsa.push(number[k]); // samchongsa = [-2, 3, 0]
samchongsalist.push(samchongsa); // samchongsalist = [ [2, 3, 0], [2, 3, 1], ..]
samchongsa = [];
}
}
}
}
}
for (i=0; i<samchongsalist.length; i++){
sum = samchongsalist[i].reduce((a, b) => a + b, 0);
sumarr.push(sum); // sumarr = [1, 3, 4, 0, -1 ..]
}
for (i=0; i<sumarr.length; i++){
if (sumarr[i]==0) result++; // sumarr에 0이 있을때마다 result를 1씩 증가시킨다
}
return result/6; // 6으로 나눠주는 이유? 6=3C2라서. 정확히 말하자면 2,0,-5의 조합과 -5,2,0의 조합은 똑같은데 안 걸러지잖아. 이렇게 걸러져야 할 게 6배가 나온다고.
}
'코딩테스트 > LV. 1' 카테고리의 다른 글
LV1 :: 푸드 파이트 대회 (0) | 2023.10.09 |
---|---|
LV1 :: 가장 가까운 같은 글자 (0) | 2023.10.08 |
LV1 :: 크기가 작은 문자열 (0) | 2023.10.08 |
LV. 1 :: [1차] 비밀지도 (0) | 2023.02.01 |
LV. 1 :: 키패드 누르기 (0) | 2023.02.01 |
댓글