- 내 풀이
import java.util.*;
class Solution {
public int[] solution(long n) {
int[] answer = {};
String[] change = String.valueOf(n).split("");
List<String> check = new ArrayList<>(Arrays.stream(change).toList());
Collections.reverse(check);
answer = new int[check.size()];
for (int i = 0; i < check.size(); i++) {
answer[i] = Integer.parseInt(check.get(i));
}
return answer;
}
}
IntelliJ에서 멀쩡히 돌아가는 코드가 프로그래머스에서 오류가 난다...
코드 변경...
class Solution {
public int[] solution(long n) {
int[] answer = {};
// answer 초기화 시킬 값
int count = 0;
// while 반복하기 위한 값
long check = n;
while(check > 0){
// 나머지를 계속 잘라 나가는 방식
check = check/10;
count++;
}
answer = new int[count];
for (int i = 0; i < count; i++) {
// n이 long 타입이기때문에 int로 형변환을 해야한다
// (int)n%10은 테스트 실패가 뜨기 때문에 계산을 다한 상태에서 (int)가 되어야 한다
answer[i] = (int)(n%10);
n = n/10;
}
return answer;
}
}
- 다름 사람 풀이
import java.util.stream.IntStream;
class Solution {
public int[] solution(long n) {
return new StringBuilder().append(n).reverse().chars().map(Character::getNumericValue).toArray();
}
}
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] Lv.1' 카테고리의 다른 글
[프로그래머스 - JAVA] 문자열 내 p와 y의 개수 (1) | 2023.03.26 |
---|---|
[프로그래머스 - JAVA] 정수 제곱근 판별 (0) | 2023.03.26 |
[프로그래머스 - JAVA] x만큼 간격이 있는 n개의 숫자 (0) | 2023.03.26 |
[프로그래머스 - JAVA] 평균 구하기 (0) | 2023.03.26 |
[프로그래머스 - JAVA] 자릿수 더하기 (0) | 2023.03.26 |
댓글