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

문자열로 입력받은 수의 각 자릿수를 모두 더해야 하는 문제이다.
자바 charAt() 메서드를 통해 문자열의 i번째 값을 구할 수 있는데 데이터형이 문자임을 유의해야 한다.
예를 들어 입력받은 문자열이 12일 때 (String str = "12";) str.charAt(0) + str.charAt(1)의 계산은 1 + 2가 아닌 각 문자를 10진수로 환산한 값을 더하는 49 + 50이 된다.
문자열로 입력받은 수의 각 자릿수를 더한 값을 구하려면 문자마다 '0'(48) 만큼 빼서 계산해야 한다.
str.charAt(0) - '0' + str.charAt(1) - '0' = (49 - 48) + (50 - 48) = 1 + 2
구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import java.util.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String str = sc.next();
int res = 0;
for (int i = 0; i < n; i++) {
res += str.charAt(i) - '0';
}
System.out.println(res);
}
}
|
cs |
결과

728x90
'Algorithm > Beakjoon' 카테고리의 다른 글
[Java] baekjoon 15552 : 빠른 A+B / for문 (0) | 2021.08.25 |
---|---|
[Java] baekjoon 11022 : A+B - 8 / for문 (0) | 2021.08.24 |
[Java] baekjoon 11654 : 아스키 코드 / 문자열 (0) | 2021.08.03 |
[Java] baekjoon 2741 : N 찍기 / for문 (0) | 2021.08.02 |
[Java] baekjoon 10952 : A+B - 5 / while문 (0) | 2021.08.01 |
댓글