https://www.acmicpc.net/problem/11720
문제
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 |
'개발 > Algorithm' 카테고리의 다른 글
[Algorithm] 백준알고리즘 아스키 코드 출력 / C# / Python / Java (0) | 2020.06.08 |
---|---|
[Algorithm] 백준 알고리즘 등차수열 한수 / C# / Python (0) | 2020.06.07 |
[Algorithm] 백준 알고리즘 셀프넘버 (0) | 2020.06.06 |
[Algorithm] C# /Python / Format 함수 (0) | 2020.06.05 |
[Algorithm] C# 속도측정 하는 법 Stopwatch / Python / 백준알고리즘 평균 (0) | 2020.06.03 |