티스토리 뷰

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

 

[문제 풀이]

 

1. https://www.ddu0422.dev/42와 상당히 비슷하다.

2. 주어진 숫자를 10으로 나눈 나머지는 뒤집어져서 나온다.

3. 해당 수를 List에 저장하고 배열로 만들어준다.

  3-1. 리스트와 Stream을 이용해서 만드는 방법 [소스 코드 1]

  3-2. 배열을 직접 생성해서 만드는 방법 [소스 코드 2]

 

[소스 코드]

 

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class InvertNaturalNumbersIntoArrays {
    public static void main(String[] args) {
        long n = 10_000_000_000L;

        System.out.println(Arrays.toString(solution(n)));
    }

    private static int[] solution(long n) {
        List<Long> lists = new LinkedList<>();

        while (n != 0) {
            lists.add(n % 10L);
            n /= 10L;
        }

        return lists.stream()
                .mapToInt(Long::intValue)
                .toArray();
    }
}

[소스 코드 1]

 

import java.util.Arrays;

public class InvertNaturalNumbersIntoArrays {
    public static void main(String[] args) {
        long n = 10_000_000_000L;

        System.out.println(Arrays.toString(solution(n)));
    }

    private static int[] solution(long n) {
        int[] answer = new int[String.valueOf(n).length()];

        for (int i = 0; n != 0 ; i++) {
            answer[i] = (int) (n % 10L);
            n /= 10L;
        }

        return answer;
    }
}

[소스 코드 2]

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함