728x90
반응형
- 자연수 뒤집어 배열로 만들기
문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 조건- n은 10,000,000,000이하인 자연수입니다.
n | return |
12345 | [5,4,3,2,1] |
import java.util.*;
class Solution {
public int[] solution(long n) {
String str = Long.toString(n);
char[] arr = str.toCharArray();
int[] answer = new int[arr.length];
for(int i=0;i<arr.length;i++){
answer[arr.length-(i+1)]=Character.getNumericValue(arr[i]);
//char to int : Character.getNumbericValue(char);
//맨 뒤부터 arr[i]값을 넣는다. [내림차순이므로]
}
return answer;
}
}
+)세련된 풀이
Long to String : String a="" +Long;
Int to String : String a = ""+ int;
-> n을 10으로 나누고, 나눈 나머지를 저장한다. -> 백의 자리, 십의 자리, ...순으로 저장
class Solution {
public int[] solution(long n) {
String a = "" + n;
int[] answer = new int[a.length()];
int cnt=0;
while(n>0) {
answer[cnt]=(int)(n%10);
n/=10;
System.out.println(n);
cnt++;
}
return answer;
}
}
class Solution {
public int[] solution(long n) {
int length = Long.toString(n).length();
//Long to Int : Long.toString(int)
int[] answer = new int[length];
for (int i = 0; i < length; i++) {
answer[i] = (int) (n % 10);
n /= 10;
}
return answer;
}
}
StringBuilder 이용
class Solution {
public int[] solution(long n) {
String s = String.valueOf(n);
//Long to String : String.valueOf(str);
StringBuilder sb = new StringBuilder(s);
sb = sb.reverse();
String[] ss = sb.toString().split("");
//StringBuilder to String : sb.toString()
//String to String[] = string.split("");
int[] answer = new int[ss.length];
for (int i=0; i<ss.length; i++) {
answer[i] = Integer.parseInt(ss[i]);
//String to int : Integer.parseInt(string);
}
return answer;
}
}
728x90
반응형
'Java > Java 알고리즘 프로그래머스' 카테고리의 다른 글
[프로그래머스-LEVEL 1] 15. 이상한 문자 만들기 (0) | 2022.05.08 |
---|---|
[프로그래머스-LEVEL 1] 14. 자릿수 더하기 (0) | 2022.05.08 |
[프로그래머스-LEVEL 1] 12. 정수 내림차순으로 배치하기 (0) | 2022.05.08 |
[프로그래머스-LEVEL 1] 11. 정수 제곱근 판별 (0) | 2022.05.08 |
[프로그래머스-LEVEL 1] 10. 제일 작은 수 제거하기 (0) | 2022.05.07 |