
나의 풀이
class Solution {
public int[] solution(long n) {
String str_n = Long.toString(n);
int[] answer = new int[str_n.length()];;
int i = 0;
while(n > 0){
answer[i++] = (int) (n % 10);
n /= 10;
}
return answer;
}
}
처음에는 (int) n % 10 으로 썼다가 실패가 떴다.
long을 int로 변환할 때 long 값이 int의 최대값을 초과하면 원래의 값과는 전혀 다른 결과가 나온다고 한다.
다른 사람의 풀이
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;
}
}
'알고리즘' 카테고리의 다른 글
| [프로그래머스] 문자열을 정수로 바꾸기(Java) (0) | 2024.11.02 |
|---|---|
| [프로그래머스] 배열 두 배 만들기 (Java) (0) | 2024.11.01 |
| [프로그래머스] x만큼 간격이 있는 n개의 숫자(Java) (0) | 2024.10.31 |
| [프로그래머스] 나머지가 1이 되는 수 찾기(Java) (0) | 2024.10.30 |
| [프로그래머스] 약수의 합(Java) (0) | 2024.10.29 |