(프로그래머스)자연수 뒤집어 배열로 만들기

김주란·2021년 11월 9일
0

Algorithm

목록 보기
5/13

문제 설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

제한 조건

n은 10,000,000,000이하인 자연수입니다.

입출력 예

nreturn
12345[5,4,3,2,1]

풀이

public class Hello {
    public int[] solution(long n) {
//        long타입인 n을 string으로 변경후 문자열 나눠서 배열로 만들어줌.
        String[] str_arr = (n+"").split("");

        final int len = str_arr.length; //여러 번 쓰이는 값이라 상수처리
        int[] int_arr = new int[len];
//      뒤집어서 int 배열 만들기
        for(int i = 0; i <len; i++) {
            int_arr[i] = Integer.parseInt(str_arr[len-1-i]);
        }
        return int_arr;
    }
}

학습

다른풀이

  1. StringBuffer이용
  • String class는 인스턴스를 생성할 때 지정된 문자열을 변경할 수 없지만 stringBuffer class는 변경이 가능하다. 내부적으로 문자열 편집을 위한 버퍼를 가지고 있으며, StringBuffer인스턴스를 생성할 때 그 크기를 지정할 수 있다.
class Solution {
    public int[] solution(long n) {
       StringBuffer sb = new StringBuffer(n+"");
        String[] arr = sb.reverse().toString().split("");
        int[] result = new int[arr.length];
        for(int i = 0; i < arr.length; i++) {
            result[i] = Integer.parseInt(arr[i]);
        }
        return result;
    }
}

0개의 댓글