글
프로그래머스 레벨2 피로도 C#(완전탐색)
C#
using System;
public class Solution {
public bool[] visit;
public int answer=0;
public int solution(int k, int[,] dungeons) {
visit = new bool[dungeons.Length];
func(k,dungeons,visit,0);
return answer;
}
//재귀를 위한 함수
public int func(int k, int[,] dungeons,bool[]visit,int cnt)
{
for(int i=0; i<dungeons.GetLength(0); i++)
{
if(k >= dungeons[i,0] && !visit[i]) //현재 피로도가 최소 피로도 보다 많고 방문한적 없는 던전인지 확인
{
visit[i] = true;
//현재 피로도를 해당 던전을 다녀왔으니 빼준다
//모든 던전을 돌 것이고
//방문던전 수 cnt +1해준다.
func(k - dungeons[i,1],dungeons,visit,cnt+1);
visit[i] = false; //재귀를 빠져나오면 새로운 던전 먼저 방문할것이기 때문에 false
}
}
answer= Math.Max(cnt, answer);
return answer;
}
}
'프로그래밍' 카테고리의 다른 글
프로그래머스 레벨1 카드 뭉치 C#(JAVA) string 배열 (0) | 2023.02.24 |
---|---|
프로그래머스 레벨1 대충 만든 자판 C#(Dictionary, ContainsKey) (0) | 2023.02.24 |
프로그래머스 이모티콘 할인행사 C#() (0) | 2023.02.23 |
프로그래머스 레벨3 가장 먼 노드 C#(JAVA) queue, BFS (0) | 2023.02.23 |
프로그래머스 레벨2 N-Queen C#(JAVA) - 완전탐색 private void/bool (0) | 2023.02.23 |