알고리즘

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

muerha 2024. 11. 1. 17:51

 

 

 

 


 

 

 

나의 풀이

class Solution {
    public int[] solution(long n) {
        String str_n = Long.toString(n);
        int[] answer = new int[str_n.length()];;
        int i = 0;
        
        while(n > 0){
            answer[i++] = (int) (n % 10);
            n /= 10;
        }
        return answer;
    }
}

 

처음에는 (int) n % 10 으로 썼다가 실패가 떴다.

long을 int로 변환할 때 long 값이 int의 최대값을 초과하면 원래의 값과는 전혀 다른 결과가 나온다고 한다.

 

 

 

 

다른 사람의 풀이

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;
  }
}