본문 바로가기
JAVA

[JAVA][백준] 11720_숫자의 합

by saemsaem 2024. 4. 15.

import java.util.Scanner;

public class Zsum_of_num_11720 {

    public static void main (String[] args) {
        int sum = 0;
        Scanner in = new Scanner(System.in);

        int num = in.nextInt();
        in.nextLine();

        String ns = in.nextLine();
        String[] str = ns.split("");

        for (int i = 0; i < num; i++) {
            sum += Integer.parseInt(str[i]);
        }

        System.out.println(sum);
    }
}

원래는 두번째 줄 숫자를 입력받을 때 int를 사용했다.

num%10 으로 맨 뒷 자리 수를 추출한 다음 sum에 더하고, num /= 10 으로 맨 뒷 자리 수를 없앴다.

그런데 이렇게 하니 25자리의 큰 숫자를 입력받을 때 오류가 발생했다. int가 담을 수 있는 자릿수는 한정되어 있기 때문이다.

그래서 int 대신 string으로 수정했다.

string으로 받은 후 공백이 없는 숫자이기 때문에 한 자리씩 배열에 넣어주고, 반복문을 통해 각 숫자를 더했다.

이 과정에서 BigInteger 도 알게 되었는데, 코드 내에서 직접 값을 입력해줘야 했기에,

이번 문제에서는 적합하지 않은 형태였다.

'JAVA' 카테고리의 다른 글

[JAVA][백준] 1152_단어의 개수  (0) 2024.04.15
[JAVA][백준] 2884_알람시계  (0) 2024.04.15
[JAVA][백준] 2562_최댓값  (0) 2024.04.15
[JAVA][백준] 2439_별찍기2  (0) 2024.04.15
2023-1주차 backjoon 문제풀이  (0) 2023.09.04