뒤집은 소수 문제 런타임 오류 문의드립니다.
237
작성한 질문수 15
선생님 안녕하세요. 런타임 관련하여 오류가 발생해서 문의드립니다. 코드는 아래와 같이 작성하였는데(수업 듣기 전 먼저 풀어봤습니다.) 런타임에러가 자꾸나서요.. 테스트 케이스 1번은 통과하는데 다른 테스트 케이스를 확인할 수 없어, 어디서 오류가 났는지 확인하기가 어렵습니다.. 테스트 케이스를 알려주시면 스스로 고쳐보겠습니다. 좋은 강의 감사합니다.
import java.util.*;
public class Main {
public ArrayList<Integer> solution(int n, int[] arr) {
ArrayList<Integer> primeNumbers = new ArrayList<>();
int max = findMax(arr);
int[] sieve = createSieve(max, arr);
// 판별시작
for (int i = 0; i < n; i++) {
int reversedNumber = reverseThis(arr[i]);
if (sieve[reversedNumber] == 0) { // 뒤집은 수가 소수라면 배열에 추가
primeNumbers.add(reversedNumber);
}
}
return primeNumbers;
}
private Integer reverseThis(int number) {
int reversedNumber = 0;
// 숫자 -> 문자열 valueOf -> 다시 숫자 parseInt
String strNumber = String.valueOf(number);
for (int i = strNumber.length() - 1; i >= 0; i--) {
char x = strNumber.charAt(i);
reversedNumber = reversedNumber * 10 + Integer.parseInt(String.valueOf(x));
}
return reversedNumber;
}
private int[] createSieve(int max, int[] arr) {
int[] sieve = new int[max + 1];
sieve[0] = sieve[1] = 1; // 0과 1은 소수가 아님
for (int i = 2; i <= max; i++) {
if (sieve[i] == 0) {
for (int j = i * 2; j <= max; j = j + i) { // sieve[i]는 그대로 0으로 남겨둠
sieve[j] = 1;
}
}
}
return sieve;
}
private int findMax(int[] arr) {
int max = Integer.MIN_VALUE;
for (int x : arr) {
if (x > max) {
max = x;
}
}
return max;
}
// max 찾기
// 체 생성
// 뒤집기 함수
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
for (int x : T.solution(n, arr)) {
System.out.print(x + " ");
}
}
}
답변 1
0
안녕하세요^^
2번 테스트케이스입니다.
27
469 84 8851 189 69 1210 682 57 6217 484 8 3590 662 36 8275 887 17 1254 462 67 8969 141 70 5603 958 100 3843
답은
953 71 7 859
안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.
0
32
1
갑자기 채점 사이트가 바뀌었어요
0
33
1
문제 리스트 페이지
0
29
1
채점 사이트 관련 질문드립니다
0
24
1
봉우리 문제 질문입니다
0
83
2
씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?
0
65
0
이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?
0
72
0
가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법
0
67
1
좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ
0
85
2
6-7 강의에서
0
48
1
6-6. 장난꾸러기 질문 있습니다.
0
45
1
강의 수강후 코딩테스트
0
111
1
answer 변수 사용 여부
0
46
1
2중 for문
1
85
2
2-11. 임시반장정하기 (Runtime Error)
0
63
1
혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?
0
70
1
이런 풀이는 어떨까요
0
44
1
자바 스트림 방식의 효율성 질문 드립니다.
0
57
1
알고리즘 자료 구조들..
0
63
1
StringBuilder vs BufferdWriter
0
48
1
원더랜드(프림)
0
50
1
이런 코드는 어떤가요?
0
61
1
bfs 풀이
0
57
1
병합정렬
0
57
1





