반응형
문제
https://www.acmicpc.net/problem/11720
11720번: 숫자의 합
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
www.acmicpc.net
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
String number = sc.next();
int sum = 0;
for(int i = 0; i < num; i++) {
sum += Integer.valueOf(number.charAt(i)-'0');
}
System.out.println(sum);
sc.close();
}
}
코드 설명
sum += Integer.valueOf(number.charAt(i)-'0');
number.charAt(i)를 통해 0번째 인덱스부터 숫자를 읽어들인다.
읽어들인 숫자에 '0'(아스키코드로는 48)을 빼서 실제 숫자를 반환한다.
ex. 5의 아스키 코드 = 십진수 53.
53 - 48 = 5 이므로 실제 정수형 숫자값을 반환 가능
이미 반환되는 값의 형식 자체가 정수이므로 앞의 Integer.valueOf는 없어도 됨.
사용자가 입력한 num의 값만큼 전체 루프를 돌면서 반환받은 정수를 sum에 저장한 뒤 최종 출력.
마무리
자바에서 charAt() 함수가 자주 쓰이니 익숙해지자.
반응형
'Problem Solving > 백준' 카테고리의 다른 글
[백준|자바] 1157: 단어 공부 (0) | 2021.08.27 |
---|---|
[백준|자바] 2675: 문자열 반복 (0) | 2021.08.26 |
[백준|자바] 11809: 알파벳 찾기 (0) | 2021.08.26 |
[백준 알고리즘] 11654: 아스키 코드 풀이(자바) (0) | 2021.08.25 |
[백준 알고리즘] 1065: 한수 풀이(자바) (0) | 2021.08.25 |
[백준 알고리즘] 15596: 정수 N개의 합 풀이(자바) (0) | 2021.08.03 |