본문 바로가기
Programming/Algorithm

[백준] 11720번 : 숫자의 합 (Java)

by 안녕주 2021. 7. 18.

문제

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

입력

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

출력

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


코드

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int N = sc.nextInt();
        String letter = sc.next();
        sc.close();
        
        int sum = 0;
        for (int i = 0; i < N; i++){
            sum += letter.charAt(i)-'0';
        }

        System.out.println(sum);
    }
}

풀이

letter을 문자열로 입력받은 후 , charAt()을 통해 각 문자열의 해당 인덱스에 해당 하는 값을 sum에 더한다.

이 때, charAt() 은 해당 문자의 아스키코드 값을 반환하기 때문에 -'48' 또는 -'0' 을 해주어야  숫자 값을 사용할 수 있다.

 

 

처음에 next()말고 nextline()을 사용해서 오류가 났었다.

nextLine() : 문자 혹은 엔터를 치기 전까지의 문장 전체를 입력받는다.

next() : 문자 혹은 문자열을 공백 기준으로 한 단어 또는 한 문자씩 입력을 받는다. 

댓글