숫자의 합(11720)
정수를 문자열로 입력받는 문제
문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
예제 입력
1
1
예제 출력
1
예제 입력2
5
54321
예제 출력2
15
예제 입력3
25
7000000000000000000000000
예제 출력3
7
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String tmp = sc.next();
int sum = 0;
for(int i=0; i<n; i++){
sum += Integer.parseInt(String.valueOf(tmp.charAt(i)));
}
System.out.println(sum);
}
}
처음으로 입력받을만큼의 숫자를 입력받고
공백없이 입력받기 때문에 String으로 입력받은 다음, charAt()을 이용했음
charAt을 사용하면 char값이 나옴
그런데 Integer.parseInt에서는 string값을 int로 변환하는 것 밖에 없으니까
일단 String.valueOf()안에 charAt값을 넣어서 String으로 변환한 다음, 그리고 Integer.parseInt()안에 그 값을 넣어주면 정상적으로 char값을 int으로 변환하는 것이 가능하다
Last updated
Was this helpful?