Cafe Binary Notation
[백준 알고리즘 11720번] 숫자의 합 (자바) 본문
단계별로 풀기: 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';
'Java > 알고리즘' 카테고리의 다른 글
[백준 알고리즘 8393번] 합 (자바) (0) | 2018.02.13 |
---|---|
[백준 알고리즘 1924번] 2007년 (자바) (0) | 2018.02.13 |
[백준 알고리즘 2441번] 별찍기-4 (자바) (2) | 2018.02.08 |
[백준 알고리즘 2440번] 별찍기-3 (자바) (4) | 2018.02.08 |
[백준 알고리즘 2439번] 별찍기-2 (자바) (0) | 2018.02.07 |