[Algorithm]プログラマー-自然数配列を反転


質問リンク:https://programmers.co.kr/learn/courses/30/lessons/12932#

質問する


自然数nを逆さまにして、各数字を要素の配列で返します.例えば、nが12345の場合、[5,4,3,2,1]が返される.

せいげんじょうけん


nは10000000以下の自然数である.

I/O例

  • n return
  • 12345 [5,4,3,2,1]
  • のり付け


    nを1つの数字に切って配列に入れて降順ソートを書こうと思ったが,他の類似問題で用いたアルゴリズムで解いた.配列の大きさを決定する必要があるので,入力したnをtoString.lengthの大きさに求め,nを10回演算すると要求したい最後の桁数だけが落ちる.
    ex) 12345 % 10 == 5

    コード#コード#

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