강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

developer501님의 프로필 이미지
developer501

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

3. 최대점수 구하기

키 입력 순서에 따라 실행이 되었다가 안되었다가 하는데 원인을 모르겠습니다;

작성

·

173

0

안녕하세요. 선생님

해당 문제를 아래와 같이 풀었습니다

그런데, n과 m의 위치를 바꾸면 실행이 안되는데요

입력값을 받을 때 이슈가 있는 것같은데, 원인을 찾을수가 없었습니다ㅠ

선생님께서 배포해주신 답안도 마찬가지 현상이 있는데요

혹시 원인을 알  수 있을까요?

 

import java.util.*;

public class Main {
static int m, n, answer = 0;
public void DFS(int L, int sum, int[] score, int totalTime, int[] time){
if(totalTime > m) return;
if(L == n){
answer = Math.max(answer, sum);
}else{
DFS(L+1, sum + score[L], score, totalTime + time[L], time);
DFS(L+1, sum, score, totalTime, time);
}
}

public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
n = kb.nextInt(); // 문제수
m = kb.nextInt(); // 제한시간 // n m 바꾸면 안됩니다
int[] score = new int[n];
int[] time = new int[n];
for(int i=0; i<n; i++){
score[i] = kb.nextInt();
time[i] = kb.nextInt();
}
T.DFS(0, 0, score, 0, time);
System.out.println(answer);
}
}

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

질문을 이해하지 못했습니다.

developer501님의 프로필 이미지
developer501

작성한 질문수

질문하기