본문 바로가기

개발/Algorithm

[Algorithm] 백준 알고리즘 11720번 숫자의 합 ( C# / Python / Java )

https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

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

www.acmicpc.net

문제

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

입력

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

출력

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

 

 

 

 

문제 풀이 방법

1. cnt를 입력받는다(int)

2. 문자열을 입력받는다.

3. 반복문을 이용하여 1~N까지의 문자를 숫자형식으로 바꿔 sum에 더한다. (Char → int)

4. sum을 출력한다.

 


C#

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Diagnostics.CodeAnalysis;
 
namespace test21
{
    class Program
    {
        static void Main(string[] args)
        {
            //A + B 출력
            int cnt = int.Parse(Console.ReadLine());
           var num = Console.ReadLine();
 
            int sum = 0;
            for (int i = 0; i < cnt; i++)
            {
                sum += int.Parse(num[i].ToString());
            }
            Console.WriteLine(sum);
        }
    }
}
 
cs

 

12번줄 : string으로 num 값을 받아온다.

17번줄 : string → char형 index값을 받아오기 string으로 변환 → int형으로 변환

18번줄 : sum 결과 출력

 


Python

 

 - Python은 따로 char형을 변환해주지 않아도 된다. 간편 간단

 

1
2
3
4
5
6
7
8
cnt = int(input())
num = input()
 
sum = 0
for i in num:
   sum += int(i) 
 
print(sum)
cs

 

2번줄 : string으로 num 값을 받아온다.

6번줄 : 각 자리수를 int형으로 변형해 더한다.

18번줄 : sum 결과 출력

 

 


Java

 

char형을 int형으로 변형하는 방법은 두가지가 있다 (char → int)

  • num.charAt(i) - '0';
  • Character.getNumericValue(num.charAt(i));

 

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