Chapter02/코딩테스트

[코딩테스트] 자연수 뒤집어 배열로 만들기

EmmaDev_v 2025. 3. 9. 10:15

 

 

문제 설명
자연수 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();
    }
}

 스트림을 이렇게 찰떡같이 쓰다니, ,,, ! 

반응형