본문 바로가기

코딩 테스트

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

728x90

문제


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

 

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

 

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

 

 

- 입력 예시 -

 

// (case 1)
1
1

// (case 2)
5
54321

// (case 3)
25
7000000000000000000000000

 

출력 예시  -

 

// (case 1)
1

// (case 2)
15

// (case 3)
7

정답 코드


<  내 정답 코드  >

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int countNums = Integer.parseInt(br.readLine());
        String nums = br.readLine();
        String[] ArrayNums = nums.split("");
        int sum = 0;

        for (int i = 0; i < countNums; i++) {
            sum += Integer.parseInt(ArrayNums[i]);
        }

        System.out.println(sum);
    }
}

 

<  타인 답변 코드  >

 

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int N = input.nextInt(), sum = 0;
		String a = input.next();
		
		for(int i = 0; i < N; i++)
			sum += a.charAt(i) - '0';
		
		System.out.println(sum);
	}
}

이것을 주의하자!


-  타인 답변 코드를 보면 굳이 배열을 만들 필요가 없다. 받아온 수만큼 for 문으로 돌리면 된다.

 

-  char 형을 int 형으로 바꾸는 방법은  -  '0'  을 하면 된다.