Array_숫자 뒤집고 소수인지 판별하기
✅ n개의 자연수가 입력되면 그 자연수들을 뒤집는다. 이후 그 뒤집은 자연수가 소수인지 판별하여 소수이면 출력한다.
예를 들어 32를 뒤집으면 23이고 23은 소수이므로 출력
190은 뒤집으면 091이므로 91이 된다.
첫 자리부터 연속된 0은 무시한다.
1은 소수가 아니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
class Main {
public boolean isPrime(int n){
if(n==1) return false;
for(int j=2; j<n; j++){
if(n % j ==0 ) return false;
}
return true;
}
public ArrayList<Integer> solution(int n, int[] intArr){
ArrayList<Integer> answer = new ArrayList<>();
for(int i=0; i<n; i++){
int indexInt= intArr[i];
int remain;
int reverse=0;
while(indexInt > 0){
remain= indexInt%10;
reverse= reverse*10 + remain;
indexInt = indexInt/10;
}
intArr[i] = reverse;
if(isPrime(intArr[i])) answer.add(intArr[i]);
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc= new Scanner(System.in);
int n = sc.nextInt();
int[] intArr = new int[n];
for(int i=0; i<n; i++){
intArr[i]= sc.nextInt();
}
for(int x: T.solution(n, intArr)){
System.out.print(x + " ");
}
}
}
//⭐️input:
//9
//32 55 62 20 250 370 200 30 100
//⭐️output:
//23 2 73 2 3
🔵 ThingsILearned
✔️ 함수를 새로 빼내어도 괜찮구나~
소수 구하는 함수를 위에 새로 만들었다.
🟢 내가 풀어본 방법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class Main {
public String solution(int n, int[] intArr){
String answer = " ";
int[] intPrimeArray= new int[n];
for(int i=0; i<n; i++){
int indexInt= intArr[i];
int remain;
int reverse=0;
while(indexInt > 0){
remain= indexInt%10;
reverse= reverse*10 + remain;
indexInt = indexInt/10;
}
intPrimeArray[i] = reverse;
int flag= 0;
if(intPrimeArray[i]==1) flag=1;
for(int j=2; j<intPrimeArray[i]; j++){
if(intPrimeArray[i] % j ==0 ) flag=1;
}
if(flag==0) answer += intPrimeArray[i] + " ";
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc= new Scanner(System.in);
int n = sc.nextInt();
int[] intArr = new int[n];
for(int i=0; i<n; i++){
intArr[i]= sc.nextInt();
}
System.out.println(T.solution(n, intArr));
}
}
This post is licensed under CC BY 4.0 by the author.