728x90
반응형
주말 맞이 알고리즘~ 정리하면서 푸니까 좀 더 수월한 느낌이다.
오늘 배운 것
1. 숫자 뒤집기
. 나는 stringbuilder 변환 후 reverse() 함수를 사용했다.
. 강의에서는 %, /를 이용했다.
int i1 = Integer.parseInt(arr[j]);
int res = 0;
while(i1>0){
int t = i1%10;
res = (res*10) + t;
i1 = i1/10;
}
2. 문제 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int i = kb.nextInt();
String[] arr = new String[i];
for (int j = 0; j < arr.length; j++) {
arr[j] = kb.next();
}
solution(i,arr);
System.out.println();
solution2(i,arr);
}
private static void solution(int i, String[] arr) {
for (int j = 0; j < arr.length; j++) {
int i1 = Integer.parseInt(arr[j]);
StringBuilder tmp = new StringBuilder(""+i1);
String s = tmp.reverse().toString();
int i2 = Integer.parseInt(s);
if(isPrime(i2)){
System.out.print(i2+" ");
}
}
}
private static void solution2(int i,String [] arr){
for (int j = 0; j < arr.length; j++) {
int i1 = Integer.parseInt(arr[j]);
int res = 0;
while(i1>0){
int t = i1%10;
res = (res*10) + t;
i1 = i1/10;
}
if(isPrime(res)){
System.out.print(res+" ");
}
}
}
private static boolean isPrime(int i2) {
if(i2==1) {
return false;
}
for (int i = 2; i < i2; i++) {
if(i2%i==0){
return false;
}
}
return true;
}
}
728x90
반응형
'알고리즘 > 문자열, 정렬' 카테고리의 다른 글
[알고리즘] 등수구하기 with Java, 이중 for문 (0) | 2022.03.05 |
---|---|
[알고리즘] 점수계산 with Java (0) | 2022.03.05 |
[알고리즘] 에라토스테네스의 체 with Java, int[] 초기화 (0) | 2022.03.03 |
[알고리즘] 피보나치 수열 with Java (0) | 2022.03.03 |
[알고리즘] 가위 바위 보 with Java, else if 에 대한 생각 (0) | 2022.03.01 |