문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 조건
- n은 10,000,000,000이하인 자연수입니다.
Step1. 문제분석
n의 값을 역순으로 index에 담으면 된다고 생각했다.
for 문으로 n의 길이만큼 시작을 해서 역순으로 빼면서 진행했다.
Step2. 문제풀이 코드
class Solution {
public int[] solution(long n) {
String str = n + "";
int[] answer = new int[str.length()];
int j = 0;
for (int i = str.length() - 1; i >= 0; i--) {
answer[j] = Integer.parseInt(str.charAt(i) + "");
j++;
}
return answer;
}
}
Step3. 다른 사람의 풀이 코드
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;
}
}
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 s = String.valueOf(n);
StringBuilder sb = new StringBuilder(s);
sb = sb.reverse();
String[] ss = sb.toString().split("");
int[] answer = new int[ss.length];
for (int i=0; i<ss.length; i++) {
answer[i] = Integer.parseInt(ss[i]);
}
return answer;
}
}
이렇게 reverse method를 사용하는 방법도 있다.
'Java > 알고리즘' 카테고리의 다른 글
[프로그래머스/알고리즘] 정수 제곱근 판별(자바/Java) (0) | 2022.11.23 |
---|---|
[프로그래머스/알고리즘] 정수 내림차순으로 배치하기 (자바/Java) (0) | 2022.11.23 |
[프로그래머스/알고리즘] 자릿수 더하기(자바/Java) (0) | 2022.11.21 |
[프로그래머스/알고리즘] 이상한 문자 만들기 (자바/Java) (0) | 2022.11.21 |
[프로그래머스/알고리즘] 완주하지 못한 선수(자바/Java) (0) | 2022.11.21 |
댓글