Notice
Recent Posts
Recent Comments
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

Cafe Binary Notation

[백준 알고리즘 11720번] 숫자의 합 (자바) 본문

Java/알고리즘

[백준 알고리즘 11720번] 숫자의 합 (자바)

켄달지나 2018. 2. 14. 00:01

단계별로 풀기: 3단계-10



문제:


N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.


입력:


첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.




출력:


입력으로 주어진 숫자 N개의 합을 출력한다.





나의 답안:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.*;
 
public class Main {
    public static void main(String[] args){
        
        Scanner scan = new Scanner(System.in);
        
        int num = scan.nextInt();
        
        int sum=0;
        String line = scan.next();
        
        for(int i=0; i<num; i++) {            
            sum += line.charAt(i)-'0';            
        }
        
        System.out.println(sum);
    }
}
 
cs




String --> char --> int 변환이 핵심이 문제!!


여기서 몰랐던 것은, char를 int로 어떻게 바꾸느냐였다.

답은 아스키 코드를 사용하는 것 !!



숫자에 대한 char의 아스키 코드는 다음과 같다. (가운데 빨간글자 무시)





즉, 각 숫자의 아스키코드는 0을 의미하는 48을 빼주면 자신의 수를 가지게 된다.

그래서 아래와 같이 계산해주면 숫자값을 얻을 수 있다.


line.charAt(i)-'0';