미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문제 Array 6번
우선 선생님의 강의를 먼저보긴 했는데 저기 숫자를 뒤집는 방법에서 이렇게 사용하면 문제가 될까요?
reverse로 뒤집고 Integer.parseInt를 했을 경우에 0을 그냥 생략하고 만들어주는걸 알기 때문에 이런 식으로 풀어서 정답은 나왔는데 따로 문제나 활용적인면에서 문제가 있는가 궁금합니다!
import java.util.Scanner;
public class Main {
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 String solution(int n, String str) {
String answer = "";
String [] temp = str.split(" ");
for(int i = 0; i < temp.length; i++) {
temp[i] = new StringBuilder(temp[i]).reverse().toString();
}
for(String x: temp) {
if(isPrime(Integer.parseInt(x))) answer += String.valueOf(Integer.parseInt(x)) + " ";
}
return answer;
}
// 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) {
// TODO Auto-generated method stub
Main T = new Main();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
String str = sc.nextLine();
// int [] arr = new int[n];
// for(int i = 0; i < n; i++) {
// arr[i] = sc.nextInt();
// }
System.out.println(T.solution(n, str));
// for(int x: T.solution(n, arr)) {
// System.out.print(x + " ");
// }
}
}