int 범위 : -2147483647 ~ 2147483647
long 범위 : -9223372036854775808 ~ 9223372036854775808
-> 문자열 형태로 입력 받고
-> 문자 배열로 반환
-> 배열값 순서대로 읽고 숫자로 변환해서 더하기
문자열 -> 숫자형은 아스키코드를 알아야 함. 아스키코드에서 같은 의미의 문자와 숫자의 코드 값 차이는 '48'.
ex) 문자 '1'의 아스키코드 값 = 49. 문자 '1'을 숫자 1로 변환 하려면 '1' - 48 or '1' - '0'
1) 숫자의 개수만큼 입력받은 값을 String으로 저장
String sNum = 10987654321
2) String으로 입력받은 값을 char[]형으로 변환
char 1 0 9 8 7 6 5 4 3 2 1
3) 인덱스 0부터 끝까지 배열을 탐색하여 각 값을 정수형으로 변환하고 결괏값에 더하여 누적
N값 입력받기
길이 N의 숫자를 입력받아 String형 변수 sNum에 저장하기
sNum을 다시 char []형 변수 cNum에 변환하여 저장하기
int형 변수 sum 선언하기
for(cNum 길이만큼 반복하기)
{
배열의 각 자릿값을 정수형으로 변환하며 sum에 더하여 누적하기
}
sum 출력하기
import java.util.Scanner;
public class ArrayData {
public static int solution() {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
// 입력값을 String형 변수 sNum에 저장한 후 char[]형 변수로 변환하기
String sNum = sc.next();
char[] cNum = sNum.toCharArray();
int sum = 0;
for (int i = 0; i < cNum.length; i++) {
sum += cNum[i] - '0'; //cNum[i]를 정수형으로 변환하면서 sum에 더하여 누적
}
return sum;
}
}