반응형
문제를 보고 DFS로 풀었는데 제출 후 다른 사람들 코드에서는 다들 반복문을 사용해서 풀어서 답을 공유하고자 게시글을 작성하게 되었습니다 :)
알고리즘 설명
DFS의 depth값이 3이 되는 경우 세가지 조합이 생긴것이므로 return해주도록 하였고 return 전에 sum의 값이 0인 경우 answer값을 증가되도록 하였다.
예시
[-2, 3, 0, 2, -5]
코드 전문
using System;
using System.Linq;
public class Solution {
static int answer = 0;
public void dfs(int idx, int depth, int sum, int[] number){
if(depth == 3)
{
if(sum == 0) answer++;
return;
}
for(int i = idx; i < number.Length; i++)
dfs(i + 1, depth + 1, sum + number[i], number);
}
public int solution(int[] number) {
dfs(0, 0, 0, number);
return answer;
}
}
반응형
'코딩테스트 준비 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 카펫 (1) | 2024.03.05 |
---|---|
프로그래머스 C# - 피보나치 수 (0) | 2024.02.19 |
프로그래머스 C# - 다음 큰 숫자 (1) | 2023.12.15 |
프로그래머스 C# - 이진 변환 반복하기 (0) | 2023.09.12 |
프로그래머스 C# - 최솟값 만들기 (0) | 2023.09.06 |
댓글