dfs로 완전 탐색하면서 모든 경우의 수 찾기
class Solution {
    boolean[] visited;
	int result = 0;
	public int solution(int k, int[][] dungeons) {
		visited = new boolean[dungeons.length];
		dfs(k, dungeons, 0);
		return result;
	}
	private void dfs(int k, int[][] dungeons, int count) {
		for (int i = 0; i < dungeons.length; i++) {
			if (!visited[i] && dungeons[i][0] <= k) {
				visited[i] = true;
				dfs(k - dungeons[i][1], dungeons, count + 1);
				visited[i] = false;
			}
		}
		result = Math.max(result, count);
	}
}