본문 바로가기
BACK/CodingTEST

2-6 뒤집은 수

by 코딩두통 2023. 1. 9.
728x90
/** 뒤집은 소수
 *
 * N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 소수를 출력하는 프로그램을 작성하세요.
 * 예를 들어 32를 뒤집으면 23이고, 23은 소수다. 그러면 23을 출력한다. 단 910ㄹ르 뒤집으면 19로 숫자화 해야한다.
 * 첫 자리부터의 연속된 0은 무시한다.
 *
 * @입력설명: 첫 줄에 자연수의 개수 N(3<=N<=100)이 주어지고, 그 다음 줄에 N개의 자연수가 주어진다.
 * @출력설명: 첫 줄에 뒤집은 소수를 출력합니다. 출력순서는 입력된 순서대로 출력합니다.
 *
 * @입력예제:
 * 9
 * 32 55 62 20 250 370 200 30 100
 *
 * */

 

문제답

public class 뒤집은소수_6{
    public boolean isPrime(int num){
        if(num==1)return false;
        for(int i=2; i<num; i++){
            if(num%i==0) return false;
        }
        return true;
    }
    public ArrayList<Integer> solution(int n, int[] arr){
        ArrayList<Integer> answer = new ArrayList<>();
        for(int i=0; i<n; i++){
            int tmp=arr[i];
            int res=0;
             while(tmp>0){
                 int t=tmp%10;
                 res=res*10+t;
                 tmp=tmp/10;
             }
             if(isPrime(res)){answer.add(res)}
        }
        return answer;
    }
    public static void main(String[] args) {
        뒤집은소수_6 T = new 뒤집은소수_6();
        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.println(x+" ");
        }
    }
}
728x90

'BACK > CodingTEST' 카테고리의 다른 글

2-8 등수구하기 [배열]  (0) 2023.01.11
2-7 점수계산  (0) 2023.01.10
1-3 문자속 단어  (0) 2023.01.08
2-4 피보나치 수열  (0) 2023.01.08
1-9 숫자만 추출  (0) 2023.01.08

댓글