본문 바로가기

Web/Java

[JAVA/알고리즘] 자연수 뒤집어 배열로 만들기

반응형

https://programmers.co.kr/learn/courses/30/lessons/12932

 

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

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345

programmers.co.kr

 

import java.util.*;

class Solution {
    public int[] solution(long n) {
        ArrayList<Integer> answer = new ArrayList<>();
        
        while (n > 0) {
            answer.add((int) (n % 10));
            n /= 10;
        }
        
        return answer.stream().mapToInt(i -> i).toArray();
    }
}

 

몫과 나머지를 이용하는 건 어렵지 않았는데, ArrayList를 int 배열로 만드는데 살짝 어려움이 있었다. 아래 블로그를 참고했고, for문이 좀(내 기준) 더 직관적인 것 같았지만, 한 줄로 쓰고 싶어서 stream을 이용했다.

 

이후에 생각이 난건데, 그냥 ArrayList 안쓰고, 배열로 쭉 가도 괜찮았을 것 같다. 어차피 long의 자릿수는 고정되어 있으니.. 그래서 시도를 해보았는데, long의 자릿수 구하는 걸 모르겠어서 포기..

 

 

 

Integer ArrayList를 int 배열로 변환하는 법

https://velog.io/@deannn/Java-int%ED%98%95-ArrayList-%EB%B0%B0%EC%97%B4-%EB%B3%80%ED%99%98

 

[Java] Integer ArrayList을 int 배열로 변환 방법

String 타입의 List를 배열로 변환할 때는 toArray()를 사용하면 변환할 수 있다. 하지만 int형과 같은 primitive 타입은 toArray()를 사용할 수 없다. 따라서 int형과 같은 primitive 타입은 아래의 방법을 통해

velog.io

 

반응형