문제 풀이/프로그래머스
[Programmers] Lv1. 삼총사 (JavaScript)
hyundol97
2023. 4. 26. 16:34
문제
풀이
1차
function solution(number) {
let result = 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) {
result++;
}
}
}
}
return result;
}
2차
function solution(number) {
let result = 0;
function dfs(idx, count, sum) {
if (idx > number.length) {
return;
}
if (count === 3) {
if (sum === 0) {
result++;
}
return;
}
dfs(idx + 1, count + 1, sum + number[idx]);
dfs(idx + 1, count, sum);
}
dfs(0, 0, 0);
return result;
}
리뷰
- 재귀함수 연습 필요
- 코드 효율성 고려 필요 (시간복잡도)