[Programmers] 자연수 뒤집어 배열로 만들기 -JAVA

Lee 🧙🏻‍♂️·2021년 8월 30일
0
post-thumbnail
post-custom-banner

📄 문제 설명

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

📑 제한 조건

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

📇 입출력 예

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

👨🏻‍💻 내가 작성한 코드

import java.util.*;

class Solution {
    public ArrayList<Long> solution(long n) {
	     ArrayList<Long> answer =new ArrayList<>();
	     while(n > 0) {
	    	 answer.add(n % 10);
	    	 n /= 10;
	     }
	     return answer;
    }
}

💡 다른 사람 코드

class Solution {
  public int[] solution(long n) {
      String a = "" + n;
        int[] answer = new int[a.length()];
        int cnt=0;

        while(n>0) {
            answer[cnt]=(int)(n%10);
            n/=10;
            System.out.println(n);
            cnt++;
        }
      return answer;
  }
}

👨🏻‍🏫 코드 풀이

  • String a = "" + n; 이 부분이 이해가 가지 않아서 찾아봤다.
    • String + int를 할 경우 자바에서는 String으로 인식이 된다.
    • "" + n을 할 경우 자바 내부적으로 StringBuffer가 생성된다고 한다. 즉, "" + n은 StringBuffer.append를 한것과 똑같다고 한다.

💡 느낀 점

나는 아직 부족하다😭
WHY?🤷🏻‍♂️ 나의 풀이는 문제의 요점을 파악하지 못한 코드다.. int[]로 주어져 있는 것을 풀기 쉽게 ArrayList로 바꿔서 풀었기 때문이다

profile
더 나은 개발자가 되기 위해 기록합세!🧙🏻‍♂️
post-custom-banner

0개의 댓글