반응형
https://www.acmicpc.net/problem/11720
11720번: 숫자의 합
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
www.acmicpc.net


거의 다 생각했는데 한가지 빼먹었다. -48, -'0'
.charAt(i) 으로 받으면 구하는 값을 정수가 아닌 아스키 코드 값으로 반환한다. 그래서 뒤에 -48이나 -'0'을 적어야 정수의 값을 얻을 수 있다.
import java.util.Scanner;
public class a11720 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String a = sc.next();
int sum = 0;
for(int i=0; i<N; i++) {
sum+= a.charAt(i)-48;
}
System.out.println(sum);
}
}
첫 번째 입력받는 수는 정수 N으로, N개의 숫자를 더할 때 사용한다.
a를 문자열 타입의 String으로 입력받고,
for(int i=0; i<N; i++) {
sum+= a.charAt(i)-48;
}
sum+= 으로 반복해 sum값을 갱신해 더하는 것이다.
a.charAt(i) 를 사용해 a의 i번째 문자를 가져오는 것이고,
이는 아스키 코드 형식으로 수를 가져오기 때문에 -48을 하면 된다.
for문을 사용해 0 ~ N-1번째 자리를 반복해 더하면 된다.
그리고 println을 사용해 sum 값을 출력하면 된다.
반응형
'백준 알고리즘' 카테고리의 다른 글
백준 [10810] 공 넣기 - 자바 풀이 (0) | 2023.05.19 |
---|---|
백준 [8958] OX퀴즈 - 자바 풀이 (0) | 2023.05.19 |
백준 [11654] 아스키 코드 - 자바 풀이 (0) | 2023.05.18 |
백준 [2920] 음계 - 자바 풀이 (0) | 2023.05.17 |
백준 [5597] 과제 안 내신 분..? - 자바 풀이 (0) | 2023.05.17 |