내 블로그 목록

2019년 1월 3일 목요일

[알고리즘] Level1.자연수 뒤집어 배열로 만들기 - 자바(java)


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

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

나의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

import java.util.ArrayList;
import java.util.List;

class Solution {
  public int[] solution(long n) {
      List<Integer> list = new ArrayList<Integer>();    
      Long.toString(n).chars().forEach(c -> list.add(c - '0'));

      int index = 0;
      int[] answer = new int[list.size()];
      for(int i=list.size()-1; i>=0; i--){
          answer[index++= list.get(i);
      }

      return answer;
     }
 }


다른 사람의 풀이
(1)
1
2
3
4
5
6
7
8
9
10
11
12
13
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;
  }
}

(2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
  }
}



배울 점


댓글 없음:

댓글 쓰기