[Java]백준_11720 : 숫자의 합

Alal11·2023년 3월 14일
0
post-thumbnail

출처

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


문제

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.


입력

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


출력

입력으로 주어진 숫자 N개의 합을 출력한다.


예제 입출력


알고리즘 분류

  • 수학
  • 구현
  • 문자열

➡️문제 분석

반복문을 이용하여 누적합을 구하는 문제이다.


➡️코드(⭕)

import java.util.Scanner;

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

        int N = sc.nextInt();

        String a = sc.next();
        sc.close();
        
        int sum = 0;
        
        for (int i = 0; i < N; i++) {
            sum += a.charAt(i) - '0';
        }
        System.out.println(sum);
    }
}

➡️코드 분석

  1. 숫자의 개수 N을 입력받는다.

  2. 숫자를 문자열 형태로 a에 입력받는다.

  3. for문으로 N번 만큼 반복하여 sum에 누적합을 구해주는데, charAt() 함수로 해당 문자열의 한 글자씩 char 문자 형태로 변환해준다. 이것을 int 정수형으로 바꾸면 아스키코드 값으로 변환된다. 따라서 -48 또는 -'0'을 해주어야 입력받은 숫자 값이 그대로 나오게 된다.
    숫자 1은 아스키코드 49, 2는 아스키코드 50, ... 이므로!


➡️end

자바 잘하고 싶다... 열심히 해보자 파이팅!!🤣

0개의 댓글