백준 코딩테스트

[백준] 숫자의 합 (11720)

nan2 2023. 7. 27. 09:19
반응형

문제

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


입력

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


출력

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


예제 입력 1 

1
1

예제 출력 1 

1

예제 입력 2 

5
54321

예제 출력 2 

15

예제 입력 3 

25
7000000000000000000000000

예제 출력 3 

7

예제 입력 4 

11
10987654321

예제 출력 4 

46

 

 

내가 푼 코드

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int cnt = sc.nextInt();
        String sNum = sc.next();
        char[] cNum = sNum.toCharArray();
        int sum = 0;

        for (int i=0; i< cNum.length; i++) {
            sum += Character.getNumericValue(cNum[i]);
        }
        System.out.println(sum);
    }
}

우선 자릿수를 먼저 입력받아서 담은 변수 cnt 는 사용하지 않았다.

두번째 줄에 입력받은 숫자의 범위가 최대 100자리까지였기 때문에 정수형(int / long)으로 받을 수 없어서 String 형으로 받았다.

그 다음 toCharArray() 메서드를 이용하여 char[] 배열에 각 자리를 담아줬고 char을 int 형으로 변환해준 다음 sum 에 더했다.

 

아스키코드

char to int 방법

- Character.getNumeriValue( c ) 메서드 이용

- c - '0' 이용  (문자와 아스키코드의 값 차이는 48이 난다)

 

 

주의사항: 코드 제출 시 class 명을 Main 으로 해줘야 한다.

그렇지 않으면 아래와 같은 컴파일 에러 발생함

 

반응형

'백준 코딩테스트' 카테고리의 다른 글

[백준] 괄호 (9012) - Java  (3) 2023.10.28
[백준] 요세푸스 문제 (1158) - Java  (0) 2023.10.28
[백준] DNA 비밀번호 (12891) - Java  (0) 2023.08.03
[백준] 블로그 (21921) - Java  (0) 2023.08.02
[백준] 주몽 (1940)  (0) 2023.08.01