본문 바로가기
개발언어/JAVA

[JAVA] 자바에서 int형의 숫자를 각각의 자릿수 구하는 방법

by 코딩 시그널 2021. 1. 11.
반응형

알고리즘 문제를 풀 때 int형 숫자에서 각각의 자릿수를 구하는 방법이 필요할 때가 있습니다. 오늘은 int형 숫자에서 각각의 자릿수를 구하는 3가지 방법에 대해 정리해 보겠습니다. 

 

 

1.  나눗셈 연산을 이용해서 구하는 방법

아래와 같이 숫자를 10으로 반복해서 나눠가면서, 10으로 나머지 연산을 하면 일의 자리를 얻어낼 수 있습니다.

int num = 12345;
ArrayList<Integer> arrNum = new ArrayList<>();
while(num > 0) {
	arrNum.add(num %10);
	num /= 10;
}
System.out.println(arrNum);
//[5, 4, 3, 2, 1]


2.  문자열로 변환해서 구하는 방법

int num = 12345;
String strNum = Integer.toString(num);
int[] arrNum = new int[strNum.length()];
for (int i = 0; i < strNum.length(); i++) {
	arrNum[i] = strNum.charAt(i) - '0';
}
System.out.print(Arrays.toString(arrNum)); 
// [1, 2, 3, 4, 5]

 

 


3.  Stream을 이용한 방법

int num = 12345;
int[] arrNum = Stream.of(String.valueOf(num).split("")).mapToInt(Integer::parseInt).toArray();
System.out.print(Arrays.toString(arrNum));
// [1, 2, 3, 4, 5]

댓글