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

김현진·2022년 1월 15일
0

코테준비

목록 보기
6/22

문제 링크 - https://programmers.co.kr/learn/courses/30/lessons/12932

  • 해결 방법
    • 배열로 만들어 역 정렬을 이용하여 풀 수도 있지만,
      조금 더 간단한 방법을 사용해 보았다.
      자연수에서 일의 자리부터 차례로 배열에 담기는 것이므로
      계속 10으로 나누어 넣는 방법을 생각하였다.
      배열을 생성하는 과정에서 자릿수가 필요해 동적으로 사용할 수 있는
      ArrayList를 사용할까 했지만 연습도 할 겸 자릿수를 구해 배열을 생성하였다.
class Solution {
  public long[] solution(long n) {
      long tmp = n;
      int digit = 0;
      
      while(true){ //계속 10으로 나누면서 자릿수 계산
          if(tmp==0) break; //0이 된다면 끝!
          tmp/=10;
          digit++;
      }
      
      long arr [] = new long [digit];
      for(int i=0;i<digit;i++){
          arr[i] = n%10; // 10으로 나누면서 나머지 삽입
          n/=10;         // 10으로 나누고 자신에게 대입
      }
      return arr;
  }
}

0개의 댓글