FANMEETING 문제 푸는중 RTE 에러가 뜨는데.. fobchs 시간 초과 라면 이해 하겠지만.. RTE가 뜨는데 정확한 이유를 모르겠네요. 항상 C++ 하다가 JAVA로 해본거라 뭐가 틀렸는지를 모르겠습니다.. local로 돌리면 전혀 문제 없어보이는데 말이죠 문제: FANMEETING 답안 번호 #137685 import java.util.ArrayList; import java.util.Scanner; public class Main { static int C; static String idolinput; static String faninput; static ArrayList<Integer> idol; static ArrayList<Integer> fan; static int idolis; static int fanis; static int counter; static int answer; public static void main(String[] args) { Scanner input = new Scanner(System.in); C = input.nextInt(); while (C-- > 0) { idolinput = input.next(); faninput = input.next(); idolis = idolinput.length(); fanis = faninput.length(); idol = new ArrayList<Integer>(idolis); fan = new ArrayList<Integer>(fanis); //1 is male, 0 is female for (int i = 0; i < idolis; i++) { if (idolinput.charAt(i) == 'M') idol.add(i, 1); if (idolinput.charAt(i) == 'F') idol.add(i, 0); } for (int i = 0; i < fanis; i++) { if (faninput.charAt(i) == 'M') fan.add(i, 1); if (faninput.charAt(i) == 'F') fan.add(i, 0); } answer = 0; for (int i = 0; i < (fanis-idolis+1); i++) { check(0, i, 0); } System.out.println(answer); } } public static void check(int indidol, int indfan, int counter) { if (counter == idolis) { answer++; return; } if ((idol.get(indidol) == 1) && (fan.get(indfan) == 0) || idol.get(indidol) == 0) { check(indidol+1, indfan+1, counter+1); } else { return; } } } 감사합니다. 11년 전
1개의 댓글이 있습니다. JongMan check()함수에서 for문 대신 재귀호출을 사용하신 이유가 있나요? 스택이 넘칠 것 같은데요 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
fobchs
시간 초과 라면 이해 하겠지만.. RTE가 뜨는데 정확한 이유를 모르겠네요.
항상 C++ 하다가 JAVA로 해본거라 뭐가 틀렸는지를 모르겠습니다..
local로 돌리면 전혀 문제 없어보이는데 말이죠
문제:
FANMEETING
답안 번호 #137685
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
}
감사합니다.
11년 전