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);
}
}
숫자의 개수 N을 입력받는다.
숫자를 문자열 형태로 a에 입력받는다.
for문으로 N번 만큼 반복하여 sum에 누적합을 구해주는데, charAt() 함수로 해당 문자열의 한 글자씩 char 문자 형태로 변환해준다. 이것을 int 정수형으로 바꾸면 아스키코드 값으로 변환된다. 따라서 -48 또는 -'0'을 해주어야 입력받은 숫자 값이 그대로 나오게 된다.
숫자 1은 아스키코드 49, 2는 아스키코드 50, ... 이므로!
자바 잘하고 싶다... 열심히 해보자 파이팅!!🤣