반응형
알고리즘 문제를 풀 때 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]
'개발언어 > JAVA' 카테고리의 다른 글
[JAVA] Map - putIfAbsent 이란? 사용방법 및 예제 (0) | 2021.10.29 |
---|---|
[JAVA] String.valueOf 와 toString의 사용 방법 및 차이 총 정리 (0) | 2021.09.15 |
[JAVA] int형 숫자의 자릿수 구하는 방법/ int 길이 구하는 방법 (2) | 2021.01.07 |
[JAVA] 자바의 메인 메서드 public static void(String [] args){} 를 사용하는 이유 (0) | 2021.01.06 |
[JAVA] 배열복사 방법 Arrays.copyOfRange/ 사용방법과 예제 (0) | 2021.01.05 |
댓글