-
코딩테스트 연습 / 연습문제 / 자연수 뒤집어 배열로 만들기 / 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