RTE(nonzero to return) 이 나오는 이유를 모르겠습니다.

  • dongjinKim
    dongjinKim

    두가지 문제에서 같은 런타임 에러가 발생하였는데

    실제 로컬에서 돌려봤을 때 눈에 띄는 문제를
    알수 가 없어서 질문 드립니다.

    첫번째는
    문제 TRIPATHCNT 이고
    제가 제출한 코드는
    아래와 같습니다.
    import java.text.DecimalFormat;
    import java.util.*;
    import java.lang.*;
    import java.io.*;
    import java.math.*;

    public class Main {

    public static void main(String[] args) {
    
        Scanner input = new Scanner(System.in);     
    
        int inputTestCaseNum = input.nextInt();
    
        int result[] = new int [inputTestCaseNum];
    
        for(int i = 0; i < inputTestCaseNum; i++){
    
            int inputTriangleSize = input.nextInt();
    
            int triangleArray[][] = new int[inputTriangleSize][inputTriangleSize];
    
            for(int j = 0; j < inputTriangleSize; j++){
    
                for(int k = 0; k <= j ; k++){
    
                    int inputNumber = input.nextInt();
    
                    triangleArray[j][k] = inputNumber;
    
                }
    
            }
    
            int maxNum = 0;
            int maxCount = 0;
    
            for(int j = 0; j < Math.pow(2, inputTriangleSize-1); j++){
    
                toBinary(j);
    
                int rightNum = 0;
                int sum = triangleArray[0][0];
    
                for(int k = 0; k < inputTriangleSize-1; k++){
    
                    if(binaryNum[k]){
    
                        rightNum +=1;
                        sum += triangleArray[k+1][rightNum];
    
                    }else{
    
                        sum += triangleArray[k+1][rightNum];
                    }
    
                }
    
                if(sum > maxNum){
    
                    maxNum = sum;
                    maxCount = 1;
    
                }else if(sum == maxNum){
    
                    maxCount +=1;
    
                }

    // System.out.println(maxCount + "");
    }

    result[i] = maxCount;
    
        }
    
        for(int i = 0; i < inputTestCaseNum; i++){
    
            System.out.println(result[i]+"");
        }
    
    }
    
    private static boolean binaryNum[] = new boolean[30];
    
    public static void toBinary(int transferNum){
    
    
        int count = 0;
        int num = transferNum;
    
        while(true){
    
            if((num/2)==0){
    
                if(num==1){
    
                    binaryNum[count] = true;
    
                }else if(num ==0){
    
                    binaryNum[count] = false;
    
                }else{
    
                    System.out.println("Error");
    
                }
                break;
            }else{
    
                if((num%2)==1){
    
                    binaryNum[count] = true;
    
                }else{
    
                    binaryNum[count] = false;
    
                }
    
            }
    
            num = (num/2);
            count +=1;
        }
    
    
    }

    }

    두번째 문제는
    MISPELL 문제로써
    제가 제출한 코드는 아래와 같습니다.

    import java.text.DecimalFormat;
    import java.util.*;
    import java.lang.*;
    import java.io.*;
    import java.math.*;

    public class Main {

    public static void main(String[] args) {
    
    
        ArrayList<String> resultString = new ArrayList<String>();
    
        Scanner input = new Scanner(System.in);     
    
        int inputTestCaseNum = input.nextInt();
    
        for(int i = 0; i < inputTestCaseNum; i++){
    
            int misSpellPos = input.nextInt();
            String rawString = input.next();
    
            String modifiedString = rawString.substring(0, misSpellPos-1) + rawString.substring(misSpellPos, rawString.length());
    
            resultString.add(modifiedString);
    
        }
    
        for(int i = 0; i < resultString.size(); i++){
    
            System.out.println(resultString.get(i));
        }
    
    }

    }


    9년 전
2개의 댓글이 있습니다.
  • pushbell7
    pushbell7

    자바는 채점할 때 클래스명 같은거 맞춰줘야 해서일 거에요

    http://www.programming-challenges.com/pg.php?page=javainfo

    요 링크 가시면 저쪽 채점서버에서 자바 소스코드 낼때 맞춰야하는 양식 설명하는데 알고스팟도 비슷하지 않을까 생각되되네요


    9년 전 link
  • dongjinKim
    dongjinKim

    넵 그래서 제가 알기로는 클래스 명을 Main으로 해야 하는 걸로
    알고 있어서
    다른 문제에서는 그렇게 했을 때 문제가 없었는데
    이문제에서만 그러네요
    2번째 문제의 경우는 저상태에서 줄바꿈 몇개만 하였다
    약간의 코드 수정을 하였는데
    갑자기 문제가 제대로 제출이 되었습니다.


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.