나눗셈 연산을 이용해서 구하는 방법
숫자를 10으로 반복해서 나누고
10으로 나머지 연산(%)을 하여 얻은 값으로, 일의 자리의 값을 구할 수 있음
int n = 12345;
int a, b, c, d, e; //각각 천의자리, 백의자리, 십의자리, 일의자리
----------------------------------------------------
e = n % 10; (나머지)
n /= 10; (몫)
----------------------------------------------------
e = 12345 % 10 // 5
n = 12345 / 10 // 1234
d = 1234 % 10 // 4
n = 1234 / 10 // 123
c = 123 % 10 // 3
n = 123 / 10 // 12
b = 12 % 10 // 2
n = 12 / 10 // 1
a = 1 % 10 // 1
n = 1 / 10 // 0
배열에 값 추가하기
값의 개수가 고정적이고 단순할 때는 배열(Array) 사용
public static void main(String[] args) {
int num = 12345;
int [] intArr = new int[10]; // 배열 생성
int i = 0;
while(num != 0){
intArr[i] = num % 10; // 나머지(각 자리의 값 추출)
num = num/10; // 10으로 나누어, 자리수를 1개 없애고, 몫을 남김
i++;
}
System.out.println( Arrays.toString(intArr) ); // 배열 출력 [5,4,3,2,1]
}
ArrayList에 값 추가하기
값의 개수가 정해지지 않은 경우에, ArrayList 사용
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]
'CODE - TEST' 카테고리의 다른 글
[JAVA] 백준 10448번 : 유레카 이론 (1) | 2024.01.02 |
---|---|
[JAVA] 백준 2309번 : 일곱 난쟁이 (0) | 2024.01.02 |
BufferedReader, InputStreamReader (0) | 2024.01.02 |