본문 바로가기
코딩공부/백준 (java)

[백준 11720] 숫자의 합 (java)

by CodingKwon 2021. 7. 8.

문제 링크

https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net

 

나의 코드 (java)

import java.util.Scanner;

public class Main {
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);

        // 몇개의 숫자가 들어오는지 받는 변수
        int n = sc.nextInt();
        // nextInt()에 개행문자 제거
        sc.nextLine();
        // 공백없는 n개의 숫자 받기
        String num = sc.nextLine();

        // 각 숫자를 합할 변수
        int sum = 0;
        for (int i=0; i<n; i++){
            // 각 자리수를 chatAt으로 받아서 48를 빼준 값을 합한다.
            sum += num.charAt(i) - '0';
        }
        
        // 결과 출력
        System.out.println(sum);
    }
}

 

이 문제는 String을 받아서 각 자리를 chatAt으로 받아서 48을 빼준 값들을 더하면 됩니다.

여기서 48을 빼는 이유는 아스키코드의 48 값이 숫자로 0인데 만약에 0을 chatAt으로 받게되면 아스키코드 48을 받게 됩니다.

하지만 우리가 필요한 것은 숫자 0이기 때문에 48을 빼면 0이라는 숫자를 받을 수 있기 때문입니다.

댓글