Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 등수구하기
- 임시반장 정하기
- 점수계산
- 백준
- 큰 수 출력하기
- 모든행과열대각선의합
- 연속부분수열
- 두 배열 합치기
- java
- 격자판
- 최대 길이
- 아스키코드
- 보이는 학생
- 뒤집은 소수
- ArrayList
- 누적 계산
- 인프런
- GitHub #Commit #BaekJoon
- 자바
- 알고리즘
- Two Pointer
- array
- 코테준비
- 10992
- Pointer
- 공통원소 구하기
- 가장 짧은 문자거리
- 배열
- 10991
- 투 포인터
Archives
- Today
- Total
ezhoon
[인프런] 02_06 뒤집은 소수 본문
📖 문제
- N개의 자연수 입력되면 그 자연수를 뒤집는다.
- 소수이면 출력하며 소수가 아닌경우는 빈공간으로 만든다.
- 예로 32를 뒤집으면 23이고 23은 소수이다. 이런 경우에 출력한다는 것이다.
- 첫 자리부터의 연속된 0을 무시한다.

✍️ 이해
- 첫 줄에 자연수의 개수 N을 입력한다.
- N의 개수만큼 자연수를 배열에 입력한다.
- 배열에 자연수들을 reverse().toString() 으로 뒤집어준다.
StringBuilder(" ? ").reverse().toString()
?에는 String 값만 들어갈 수 있으므로 배열 입력 받을 때 String 배열로 시작한다.
- boolean을 이용해서 소수이면 true 반환 후 answer.add(값) 넣어주면 된다.
⚠️ 주의사항
- reverse().toString() 을 사용할려면 어떻게 처리 할지
- 소수 구분 방법
- boolean
✏️ 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Java_02_06 {
public ArrayList<Integer> solution(int N, String[] temp) {
ArrayList<Integer> answer = new ArrayList<>();
int[] number = new int[N];
for (int i = 0; i < N; i++) {
number[i] =Integer.parseInt(new StringBuilder(temp[i]).reverse().toString()); // 입력 받은 값 reverse로 뒤집어 준 다음 정수형 변환 해서 number 저장
int res = number[i];
if(isPrime(res)) answer.add(res); // isPrime에 res 값 넘기고 return 된 값이 true 면 answer 배열에 res 객체 추가
}
return answer;
}
public boolean isPrime(int num) { // number 객체의 값들 소수 체크
if (num == 1) return false; // 1이면 소수가 아니니 바로 return false
for (int i = 2; i < num; i++) {
if (num % i == 0) return false;
}
return true;
}
public static void main(String[] args) throws IOException {
Java_02_06 T = new Java_02_06();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
String[] temp = new String[N];
for (int i = 0; i < N; i++) {
temp[i] = st.nextToken();
}
for (int x : T.solution(N, temp)) System.out.print(x + " ");
}
}

'[Java] 인프런 문제풀이 > Array(배열)' 카테고리의 다른 글
[인프런] 02_08 등수구하기 (0) | 2022.01.21 |
---|---|
[인프런] 02_07 점수계산 (0) | 2022.01.21 |
[인프런] 02_05 소수 (에라토스테네스 체) (0) | 2022.01.21 |
[인프런] 02_04 피보나치 수열 (0) | 2022.01.21 |
[인프런] 02_03 가위 바위 보 (0) | 2022.01.21 |
Comments