문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 조건
n은 10,000,000,000이하인 자연수입니다.
입출력 예
n | return |
12345 | [5,4,3,2,1] |
나의 풀이
-> 배열로 바꾸기, 같은 크기의 배열 선언 (거꾸로 뽑을 용도).
반복문 뒤에서 부터 돌면서 하나씩 빼기 (2번째배열값 늘려가면서 넣)
class Solution {
public int[] solution(long n) {
int[] intArr = String.valueOf(n).chars().map(c -> c - '0').toArray();;
int[] reverseArr = new int[intArr.length];
int j = 0;
for (int i = intArr.length - 1; i >= 0; i--) {
reverseArr[j] = intArr[i];
j++;
}
return reverseArr;
}
}
다른 사람의 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/12932/solution_groups?language=java
import java.util.stream.IntStream;
class Solution {
public int[] solution(long n) {
return new StringBuilder().append(n).reverse().chars().map(Character::getNumericValue).toArray();
}
}
스트림을 이렇게 찰떡같이 쓰다니, ,,, !
반응형
'Chapter02 > 코딩테스트' 카테고리의 다른 글
[코딩테스트] 하샤드 수 (0) | 2025.03.11 |
---|---|
[ 코딩테스트 ] 정수 내림차순으로 배치하기, 두 정수 사이의 합, 정수 제곱근 판별 (0) | 2025.03.10 |
[코딩테스트 ] 프로그래머스 Lv1. 핸드폰 번호 가리기 (2) | 2025.03.08 |
[ 코딩테스트 ] 프로그래머스 Lv2. 기능개발 (0) | 2025.03.06 |
[ 코딩테스트 ] 프로그래머스 Lv2. 짝지어 제거하기 (0) | 2025.03.05 |