강의로 돌아가기
권민철

런타임 에러가 어디서 나는건가요?

제 눈에는 도저히 보이지가 않네요

테스트 1 〉 통과 (2.04ms, 48MB)
테스트 2 〉 실패 (런타임 에러)
테스트 3 〉 통과 (18.07ms, 46.4MB)
테스트 4 〉 통과 (18.25ms, 47.7MB)
테스트 5 〉 통과 (18.62ms, 48.7MB)
테스트 6 〉 실패 (런타임 에러)
테스트 7 〉 통과 (18.72ms, 46.2MB)
테스트 8 〉 통과 (2.10ms, 44.6MB)

작성중인 코드―Solution.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
    public String addZero(int num, int n) {
        String result = String.valueOf(num);
        System.out.println(result);
        while (result.length() < n) {
            result = "0" + result;
        }
        return result;
    }

    public String[] solution(int n, int[] arr1, int[] arr2) {
        String[] answer = new String[n];

        for (int i = 0; i < n; i++) {
            answer[i] = addZero(Integer.parseInt(Integer.toBinaryString(arr1[i] | arr2[i])), n)
                        .replace("0", " ")
                        .replace("1", "#");
        }

        return answer;
    }
}
1 개의 답변
권민철
Integer.parseInt(Integer.toBinaryString(arr1[i] | arr2[i]))

문제는 이 부분이었네요.

Integer.toBinaryString(arr1[i] | arr2[i])

이렇게 바꾸니 런타임 에러가 해결되었습니다.
참고하실 분 참고하세요

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.