알고리즘/문제 풀이
[Java] 프로그래머스 > 자연수 뒤집어 배열로 만들기
_eunji_
2022. 1. 27. 23:40
https://programmers.co.kr/learn/courses/30/lessons/12932
코딩테스트 연습 - 자연수 뒤집어 배열로 만들기
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345
programmers.co.kr
문제 설명
- 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴
제한 조건
- n은 10,000,000,000 이하인 자연수입니다.
내 풀이
class Solution {
public int[] solution(long n) {
int[] answer = {};
String str = Long.toString(n);
//String str = "" + n;
answer=new int[str.length()];
int i=0;
while(n>0){
answer[i]=(int)(n%10);
if(n<10) break;
n/=10;
i++;
}
return answer;
}
}
자연수 n을 string으로 변환시켜 자릿수를 구한 뒤 배열 answer의 크기를 지정한다.
반복문 while을 통해 n을 10으로 나눈 나머지값을 배열에 추가하고 n을 자기 자신을 10을 나눈 값으로 초기화시켜주는 과정을 반복한다.
ex) n=1234일때,
answer의 크기는 4가 되고
i=0일 때 -> answer [0]=1234%10=4 , n=1234/10=123
i=1일 때 -> answer [1]=123%10=3, n=123/10=12
i=2일 때 -> answer [2]=12%10=2 , n=1234/10=1
i=3일 때 -> answer [3]=1%10=1