카테고리 없음

코딩테스트 연습 / 연습문제 / 자연수 뒤집어 배열로 만들기 / JAVA

외계공룡 2020. 4. 13. 17:29

문제 설명

 

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

 

제한 조건

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

 

입출력 예

n return
12345 [5,4,3,2,1]

 


나의 풀이

 

class Solution {
  public int[] solution(long n) {
      int[] answer = {};
		int len = (int) Math.ceil(Math.log10(n));
		
		answer = new int[len];
		for(int i=0; i<len; i++) {
			answer[i] = (int) (n % 10);
			n /= 10;
		}
		
		return answer;
  }
}

 


풀이 분석

 

이전에 비슷한 문제를 Math.log10() 메서드를 이용해서 문제를 푼 사람을 보고 인상깊어서 한번 따라해보았다.

다른 사람들은 대부분 String으로 변환해서 해당 문자의 길이를 구하는 방식으로 접근하던가 StringBuilder의 reverse()메서드를 이용해서 많이 풀었다.

나는 Math 클래스의 메서드들을 이용해서 풀었지만 변환해서 푸는게 더 빠른지는 아직 잘 모르겠다.

나중에 시간이 나면 비교해보고 공부해 봐야할 것 같다.

 


히스토리 보기

 

chucoding/algorithm

알고리즘 문제풀이 사이트 도전~!! . Contribute to chucoding/algorithm development by creating an account on GitHub.

github.com