본문 바로가기
알고리즘/JAVA

6. 뒤집은 소수

by vivi 2021. 9. 20.
import java.util.*;

class Main {

	public boolean isPrime(int N) {
		if (N <= 1)
			return false;
		if (N != 2 && N % 2 == 0) {
			return false;
		}
		for (int i = 2; i < N; i++) {
			if (N % i == 0)
				return false;
		}
		return true;
	}

//	public int ReverseInt(int N) {
//		String str = new StringBuilder(N + "").reverse().toString();
//		return Integer.valueOf(str);
//	}
	
	public int ReverseInt(int N) {
		int res = 0;
		while (N > 0) {
			res = res * 10 + N % 10;
			N = N / 10;
		}
		return res;
	}
    
	public ArrayList<Integer> solution(int N, int[] arr) {
		ArrayList<Integer> answer = new ArrayList<Integer>();
		for (int i = 0; i < N; i++) {
			int reverseNum = ReverseInt(arr[i]);
			if (isPrime(reverseNum)) {
				answer.add(reverseNum);
			}
		}
		return answer;
	}

	public static void main(String[] args) {
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		int N = kb.nextInt();
		int[] arr = new int[N];
		for (int i = 0; i < N; i++)
			arr[i] = kb.nextInt();
		for (int x : T.solution(N, arr))
			System.out.print(x + " ");
		kb.close();
	}

}

'알고리즘 > JAVA' 카테고리의 다른 글

4. 모든 아나그램 찾기  (0) 2021.09.20
3. 매출액의 종류  (0) 2021.09.20
5. 소수(에라토스테네스 체)  (0) 2021.09.20
2. 아나그램(해쉬)  (0) 2021.09.19
1. 학급 회장(해쉬)  (0) 2021.09.16

댓글