프로그래머스/Level 1

[프로그래머스] Lv1 자연수 뒤집어 배열로 만들기

혜써이 2024. 11. 8. 14:23

 

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



제한 조건
n은 10,000,000,000이하인 자연수입니다.



입출력 예

n return
12345 [5,4,3,2,1]

 



class Solution {
    public int[] solution(long n) {
      String str = Long.toString(n); 
      String[] strArr = str.split(""); 
        
        int[] answer = new int[strArr.length]; 
      
        for(int i = 0; i < strArr.length; i++) {
            answer[i] = Integer.parseInt(strArr[strArr.length - i - 1]); 
        }    
        return answer;
    }
}

 

풀이 : 

 String str = Long.toString(n); 

   - n을 String형식으로 str 에 담고

 

String[] strArr = str.split("");

   - split 을 사용하여 문자 타입의 배열로 반환

 

int[] answer = new int[strArr.length]; 

   -새로운 배열 생성 (strArr길이만큼)

 

for(int i = 0; i < strArr.length; i++) {
            answer[i] = Integer.parseInt(strArr[strArr.length - i - 1]); 
        }

   -answer의 i 번 인덱스에 값을 넣는데 Integer.parseInt 를 사용하여
   -int 로 형변환, 그 값은 strArr배열에 strArr.length - i 후 -1값 한것
   -ex) n이 12345 일 때

strArr.length  i    
5 0 -1 strArr[4] -> 5
5 1 -1 strArr[3] -> 4
5 2 -1 strArr[2] -> 3
5 3 -1 strArr[1] -> 2
5 4 -1 strArr[0] -> 1